C’est sûr que c’est très simple, mais je ne peux pas comprendre comment faire cela.
Je dois interroger toutes les publications qui ont un ensemble de taxonomie spécifique. Comme ça:
$query03 = array(
'numberposts' => 5,
'post_type' => array(
'video'
),
'tax_query' => array(
array(
'taxonomy' => 'product',
'field' => 'slug',
'terms' => **all_the_terms_in_taxonomy**
)
)
);
Je veux définir le champ terms
un caractère générique. Je sais que je pourrais peupler terms
fild avec un tableau, mais la liste est très longue et le poids de la requête m'inquiète.
Avez-vous essayé simplement d'omettre la clé 'terms'
du tableau 'tax_query'
?
$query03 = array(
'numberposts' => 5,
'post_type' => array(
'video'
),
'tax_query' => array(
array(
'taxonomy' => 'product',
'field' => 'slug'
)
)
);
Sinon, je ne m'inquiéterais pas vraiment du poids de la requête. La requête résultante sera ce qu'elle sera, indépendamment de la complexité de la requête, ou de la taille du tableau de la requête. Donc, je recommanderais simplement de tirer tous vos termes via get_terms
:
<?php get_terms( $taxonomy, $args ); ?>
Vous pouvez l’utiliser directement dans votre tableau d’arguments de requête en définissant 'fields'
sur 'ids'
, ce qui renverra un tableau d’ID de termes, plutôt qu’un tableau d’objets de termes):
$query03 = array(
'numberposts' => 5,
'post_type' => array(
'video'
),
'tax_query' => array(
array(
'taxonomy' => 'product',
'field' => 'id',
'terms' => get_terms( 'product', array( 'fields' => 'ids' ) )
)
)
);
Autre 'tax_query
', en utilisant des slugs à la place des identifiants:
'tax_query' => array(
array(
'taxonomy' => 'product',
'field' => 'slug',
'terms' => get_terms( 'product', array( 'fields' => 'names' ) )
)
)