从 WooCommerce 3+ 的轮播中排除 'hidden' 个查询产品
Exclude 'hidden' queried products from carousel in WooCommerce 3+
我有一个轮播插件,它可以做各种事情,它只显示已发布的产品:
$common_args = array(
'post_type' => 'product',
'posts_per_page' => !empty($posts_per_page) ? intval($posts_per_page) : 4,
'post_status' => 'publish',
'ignore_sticky_posts' => true,
'no_found_rows' => true,
);
但我需要它来排除 'hidden' 产品,这些产品在技术上仍处于发布状态,只是不可见。或者,如果它排除了特定类别的产品(我所有隐藏的产品都属于两个特定类别),我可以使用它。
请问我该怎么做?
自 Woocommerce 3 起,产品可见性由术语 exclude-from-catalog
的分类法 product_visibility
处理,因此您需要按如下方式添加税务查询:
$common_args = array(
'post_type' => 'product',
'posts_per_page' => !empty($posts_per_page) ? intval($posts_per_page) : 4,
'post_status' => 'publish',
'ignore_sticky_posts' => true,
'no_found_rows' => true,
'tax_query' => array( array(
'taxonomy' => 'product_visibility',
'terms' => array('exclude-from-catalog'),
'field' => 'name',
'operator' => 'NOT IN',
) ),
);
应该可以。使用 WordPress get_post()
函数 测试了这个参数数组(有效).
相关:
我有一个轮播插件,它可以做各种事情,它只显示已发布的产品:
$common_args = array(
'post_type' => 'product',
'posts_per_page' => !empty($posts_per_page) ? intval($posts_per_page) : 4,
'post_status' => 'publish',
'ignore_sticky_posts' => true,
'no_found_rows' => true,
);
但我需要它来排除 'hidden' 产品,这些产品在技术上仍处于发布状态,只是不可见。或者,如果它排除了特定类别的产品(我所有隐藏的产品都属于两个特定类别),我可以使用它。
请问我该怎么做?
自 Woocommerce 3 起,产品可见性由术语 exclude-from-catalog
的分类法 product_visibility
处理,因此您需要按如下方式添加税务查询:
$common_args = array(
'post_type' => 'product',
'posts_per_page' => !empty($posts_per_page) ? intval($posts_per_page) : 4,
'post_status' => 'publish',
'ignore_sticky_posts' => true,
'no_found_rows' => true,
'tax_query' => array( array(
'taxonomy' => 'product_visibility',
'terms' => array('exclude-from-catalog'),
'field' => 'name',
'operator' => 'NOT IN',
) ),
);
应该可以。使用 WordPress get_post()
函数 测试了这个参数数组(有效).
相关: