【发布时间】:2018-03-13 11:10:39
【问题描述】:
我和Quadie 有同样的问题,正如following thread 中回答的那样。
LoicTheAztec 提供的代码效果很好......
add_filter( 'woocommerce_products_widget_query_args', function( $query_args ){
// Set HERE your product category slugs
$categories = array( 'music', 'posters' );
$query_args['tax_query'] = array( array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => $categories,
));
return $query_args;
}, 10, 1 );
...但我想知道是否有扩展此代码的选项,以便能够为每个单独的小部件设置类别。例如。我想要页面 x 上类别 1 的产品小部件,而我想要页面 x 上其他地方的类别 2 产品小部件。
我正在考虑使用 shortcode 并将类别指定为此简码的数组,但不确定如何实现。
对这个问题有什么想法吗?
这是我尝试使用的简码:
[productsbycat cat1="broodjes"]
& 它会触发以下代码:
function productsbycat_func( $atts ) {
$categories = shortcode_atts( array(
'cat1' => 'something',
'cat2' => 'something else',
), $atts );
add_filter( 'woocommerce_products_widget_query_args', function ( $query_args ){
$query_args['tax_query'] = array( array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => $categories,
));
return $query_args;
}, 10, 1 );
}
add_shortcode( 'productsbycat', 'productsbycat_func' );
但是,它还没有生成任何东西。
【问题讨论】:
标签: php wordpress woocommerce categories product