Après avoir formulé ma requête $ pour une taxonomie personnalisée sur un modèle de page, comment pourrais-je demander si un terme spécifique comporte des publications?
$args = array(
'post_type' => 'exhibitions',
'tax_query' => array(
array(
'taxonomy' => 'exhibition',
'field' => 'slug'
),
)
);
$query = new WP_Query($args);
En supposant que je sois sur la bonne voie, une description verbale du type de déclarations conditionnelles que je recherche serait:
si le terme de taxonomie $ query 'current' a des posts, faites quelque chose;
elseif si le terme de taxonomie $ query 'coming' a des posts, fait autre chose;
Je ne suis pas sûr de ce dont vous avez exactement besoin, mais normalement, par défaut, get_terms
renvoie uniquement les termes auxquels des publications ont été affectées.
$terms = get_terms( 'exhibition' );
var_dump( $terms );
En dehors de cela, je ne sais vraiment pas de quoi vous avez exactement besoin
On dirait que vous voulez has_term()
. Quelque chose comme: Nourrissez votre requête d'un tableau de termes:
$args = array(
'post_type' => 'exhibitions',
'tax_query' => array(
array(
'taxonomy' => 'exhibition',
'field' => 'slug',
'terms' => array(
'current',
'upcoming',
),
),
)
);
$query = new WP_Query($args);
Puis passez dessus plusieurs fois:
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
if (has_term('current','exhibition')) {
// stuff
}
}
}
$query->rewind_posts();
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
if (has_term('upcoming','exhibition')) {
// stuff
}
}
}
$query->rewind_posts();