J'ai un type de message personnalisé de image avec une taxonomie personnalisée appelée image_tag (c'est hiérarchique comme les catégories). Voici quelques exemples de balises pouvant être utilisées:
Structure (id: 25)
- House (id: 56)
- Skyscraper
Nature
- Animal
- Plant (id: 41)
Je souhaite donc parcourir les images en sélectionnant plusieurs balises en association avec l'opérateur "et". Par exemple, recherche de toutes les photos avec plant s et house s.
$query_args = array(
'post_type' => 'image',
'tax_query' => array(
array(
'taxonomy' => 'image_tag',
'terms' => array(41, 56), // IDs of "plant" and "house"
'operator' => 'and',
),
),
);
Cela fonctionne bien, le problème commence lorsque j'essaie d'inclure les termes parents, par exemple:
$query_args = array(
'post_type' => 'image',
'tax_query' => array(
array(
'taxonomy' => 'image_tag',
'terms' => array(25, 41), // IDs of "structure" and "plant"
'operator' => 'and',
),
),
);
Ensuite, je n'obtiens aucun résultat. J'imagine que, parce que j'utilise l'opérateur "et", Wordpress n'inclut pas les enfants du terme "Structure". Quelqu'un at-il une idée de la façon dont je peux obtenir que cela fonctionne, ou une autre solution pour y parvenir?
pas testé mais donnez un coup de feu
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'image_tag',
'field' => 'term_id',
'terms' => 25,
'operator' => 'IN',
),
array(
'taxonomy' => 'image_tag',
'field' => 'term_id',
'terms' => 41,
'operator' => 'IN',
)
),
OR
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'image_tag',
'field' => 'term_id',
'terms' => array(25,41),
'operator' => 'IN',
),
),