在 Woocommerce 上的 WP_query 中获取目录中可见的产品
Posted
技术标签:
【中文标题】在 Woocommerce 上的 WP_query 中获取目录中可见的产品【英文标题】:Get products which are visible in catalog in a WP_query on Woocommerce 【发布时间】:2019-05-08 13:29:01 【问题描述】:我目前正在尝试获取目录中可见的类别页面中的所有产品。我已经在这里尝试过,但我没有通过此查询获得任何产品:
$args = array(
'post_type' => 'product',
'product_cat' => get_queried_object()->slug,
'meta_query' => array(
array(
'key' => '_visibility',
'value' => array( 'catalog', 'visible' ),
'compare' => 'IN',
)
)
);
$loop = new WP_Query( $args );
var_dump( $loop );
当我删除 meta_query
可见性部分时,我得到了所有产品,包括隐藏的产品,但我只需要可见的产品。这里有什么问题?
【问题讨论】:
【参考方案1】:这需要改为税务查询(因为从 woocommerce 3 开始,它现在由 product_visibility
custom taxonomy 处理):
$loop = new WP_Query(array(
'post_type' => 'product',
'product_cat' => get_queried_object()->slug,
'tax_query' => array( array(
'taxonomy' => 'product_visibility',
'terms' => array( 'exclude-from-catalog' ),
'field' => 'name',
'operator' => 'NOT IN',
) )
) );
var_dump( $loop );
现在应该会更好。
【讨论】:
非常感谢您的帮助!以上是关于在 Woocommerce 上的 WP_query 中获取目录中可见的产品的主要内容,如果未能解决你的问题,请参考以下文章
Woocommerce wp_query 按 ID 获取订单
WP_Query Woocommerce 产品仅属于不同的多个类别 tax_query