web-dev-qa-db-fra.com

Interroger les messages de la catégorie A et de la catégorie B ou C

Je dois obtenir des messages appartient à quelques catégories, mais il doit correspondre à la règle suivante.

disons que j'ai les identifiants de catégorie 100,105 & 106.

alors j'ai besoin de 100 && ( 105 || 106 ) cette règle.

Je connais les règles suivantes pour les OR et AND séparés,

$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

Mais j'ai besoin de quelque chose comme 100 && ( 105 || 106 ). Comment puis-je faire cela avec WP_Query?

1
Janith Chinthana

Pas sûr que ce soit la meilleure façon, mais j'ai réussi à obtenir l'ensemble de résultats souhaité avec les paramètres $args suivants.

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