将作者选项添加到[Products]WooCommerce快捷代码

时间:2020-11-24 作者:Cwkin7

我正在尝试修改[产品]快捷码的用法:

https://docs.woocommerce.com/document/woocommerce-shortcodes/#section-11

我所看到的是将作者id从短代码(例如[产品作者=2])传递到查询。

参考:https://wordpress.org/support/topic/adding-a-special-product-attribute-to-the-products-shortcode/

但是这个示例是一个真/假参数,用于触发$query\\u args更改,似乎这并不完全是我的目标。下面的功能是我唯一可以使用的部分。

function htdat_woocommerce_shortcode_products_query( $query_args, $attributes ) {       
$query_args = array(
   //Receive the id//\'author\'    => \'1\',
   \'post_status\'    => \'publish\',
   \'post_type\'      => \'product\',
   \'post_per_page\'      => 12,
   );   
   
  return $query_args;
}
add_filter( \'woocommerce_shortcode_products_query\', \'htdat_woocommerce_shortcode_products_query\', 10, 2 );
如果有人能帮忙,谢谢你。

1 个回复
最合适的回答,由SO网友:Ivan Shatsky 整理而成

Try this:

function htdat_shortcode_atts_products( $out, $pairs, $atts, $shortcode ) {
    if ( isset ( $atts[\'author\'] ) ) $out[\'author\'] = $atts[\'author\'];
    return $out;
}
add_filter(\'shortcode_atts_products\', \'htdat_shortcode_atts_products\', 10, 4);

function htdat_woocommerce_shortcode_products_query( $query_args, $attributes ) {       
    if ( isset( $attributes[\'author\'] ) ) $query_args[\'author\'] = $attributes[\'author\'];
    return $query_args;
}
add_filter( \'woocommerce_shortcode_products_query\', \'htdat_woocommerce_shortcode_products_query\', 10, 2 );

相关推荐

在使用_Author挂钩时,如何确定生成对`the_Author()`的每次调用的PHP文件?

the_author() filter hook 可用于修改的输出the_author(). 使用钩子时,是否可以知道哪个PHP文件生成对the_author()?例如,假设我将此自定义函数附加到the_author() 过滤器挂钩,用于修改the_author() 输出:add_filter(\"the_author\", \"change_author\"); function change_author($author) { $author = \"NEW AUTHOR!\