web-dev-qa-db-ja.com

両方の製品カテゴリを持つすべての製品を入手

両方のカテゴリーを持つすべての製品が必要です。以下のクエリを使用しています。

$args = array(
                        'post_type' => array('product', 'product_variation'),

                        'tax_query' => array(
                            array(
                                'taxonomy' => 'product_cat',
                                'field' => 'slug',
                                'terms'    => array( 'shop', 'cat1' ),
                                'operator' => 'AND',
                            )
                        )
                    );

Cat1カテゴリにcat1-1、cat1-2などのようなサブカテゴリがない場合は正常に機能します。

Cat1にサブカテゴリがある場合、クエリはまったく同じ結果にはなりません。

ありがとう

1
meenakshi

Tax_queryでinclude_childrenをfalseに設定します。

$args = array(
'post_type' => array( 'product', 'product_variation' ),

'tax_query' => array(
    array(
        'taxonomy'         => 'product_cat',
        'field'            => 'slug',
        'terms'            => array( 'shop', 'cat1' ),
        'include_children' => false,
        'operator'         => 'AND',
    )
)

;

https://codex.wordpress.org/Class_Reference/WP_Query#Taxonomy_Parameters を参照してください。

1
Markus Drubba