查询类别A、类别B或类别C中的帖子

时间:2017-07-24 作者:Janith Chinthana

我需要得到的职位属于几个类别,但它应该符合以下规则。

假设我有类别ID 100105&;106

那我需要100 && ( 105 || 106 ) 这条规则。

我知道以下规则OR &;AND,

$query = new WP_Query( array( \'cat\' => \'100,105,106\' ) );  // 100 || 105 || 106
$query = new WP_Query( array( \'category__and\' => array( 100,105,106 ) ) ); // 100 && 105 && 106
但我需要这样的东西100 && ( 105 || 106 ). 我怎样才能做到这一点WP_Query ?

2 个回复
SO网友:Janith Chinthana

不确定这是不是最好的方法,但我已经通过以下方法获得了所需的结果集$args 参数。

$args[\'tax_query\'] =    array(
    \'relation\' => \'AND\',
    array(
        \'taxonomy\' => \'category\',
        \'field\'    => \'id\',
        \'terms\'    => array(100),
    ),
    array(
        \'taxonomy\' => \'category\',
        \'field\'    => \'id\',
        \'terms\'    => array(105,106),
    ),
);

SO网友:Chris Pink

事先在php中设置术语,然后将它们作为变量传递给wp\\U查询。

$mycats = array( ...
   some logic
);
然后

$query = new WP_Query( array( \'cat\' => $mycats ) );

结束