[英]WooCommerce products widget for a specific category - set category array per widget
我在以下線程中回答了與Quadie相同的問題。
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的產品小部件。
我正在考慮使用簡碼 ,並將類別指定為此簡碼的數組,但不確定如何實現。
對這個問題有什么想法嗎?
這是我嘗試使用的簡碼:
[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' );
但是,它尚未生成任何東西。
無法擴展我的代碼“以便能夠為每個單獨的小部件設置類別”。
僅對於您的短代碼,我認為您不需要為此進行任何代碼自定義。
我查看與WooCommerce簡碼相關的WooCommerce官方文檔,您將在“產品類別”部分看到以下短代碼: [product_category]
,其主要參數是category
您可以通過以下方式添加一個產品類別標簽 :
[product_category category="clothing"] // One product category
或對於許多產品類別段塞 (以逗號分隔)是這樣的:
[product_category category="posters,music"]
可以更改的默認參數設置為:
$args = array(
'per_page' => "12",
'columns' => "4",
'orderby' => 'title', // or by "menu_order"
'order' => "asc", // or "desc"
'category' => "" // Always only product category slugs
'operator' => "IN" // Possible values are "IN", "NOT IN", "AND".
);
但是它無法像您在產品小部件中那樣工作,因為它將顯示已定義類別的產品網格循環
您應該需要構建自己的小部件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.