如何使 Woocommerce 产品小部件仅显示特定类别的产品?当前选项正在销售、精选等等。
这可以通过挂钩在
woocommerce_products_widget_query_args
过滤器挂钩中的自定义函数来完成。您必须在其中的数组中设置您的产品类别(如果有多个产品类别,则为您的产品类别)。
这是代码:
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 );
代码位于活动子主题(或主题)的 function.php 文件中或任何插件文件中。
在 WooCommerce 3+ 中测试并有效
要显示当前类别的产品,可以使用以下方法:
add_filter( 'woocommerce_products_widget_query_args', function( $query_args ){
$category = get_queried_object();
$cat_slug = $category->slug;
$query_args['tax_query'] = array( array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => $cat_slug,
));
return $query_args;
}, 10, 1 );