在 Woocommerce 的 WP_query 中获取目录中可见的产品

Mr.*_* Jo 5 php wordpress product custom-taxonomy woocommerce

我目前正在尝试获取目录中可见的类别页面中的所有产品。我在这里试过这个,但我没有得到这个查询的产品:

$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 );
Run Code Online (Sandbox Code Playgroud)

当我删除meta_query可见性部分时,我将获得所有产品,包括隐藏的产品,但我只需要可见的产品。这里有什么问题?

Loi*_*tec 7

这需要改为税务查询(因为 woocommerce 3 现在由product_visibility自定义分类法处理)

$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 );
Run Code Online (Sandbox Code Playgroud)

这现在应该更好地工作。