Existe-t-il un moyen de modifier la boucle principale dans un modèle de taxonomie unique tout en la laissant intacte dans tous les autres modèles?
Dans ce cas, j'ai un type de publication personnalisé appelé "Événements" qui, à son tour, a une taxonomie personnalisée appelée "Région". Ce que je veux faire, c'est que, au lieu de lister chaque "Evénement" personnalisé chronologiquement par date de publication, je souhaite le commander avec une méta-valeur personnalisée (dans ce cas, event_date
).
Je veux seulement faire ceci dans mon template taxonomy-region.php
et laisser toute autre instance de la boucle principale intacte.
Vous pouvez pirater le $query
juste avant de récupérer les publications.
function wpdev_156674_pre_get_posts( $query ) {
if (
$query->is_main_query()
&& $query->is_tax( 'region' )
) {
// Manipulate $query here, for instance like so
$query->set( 'orderby', 'meta_value_num' );
$query->set( 'meta_key', 'event_date' );
$query->set( 'order', 'DESC' );
}
}
add_action( 'pre_get_posts', 'wpdev_156674_pre_get_posts' );
Références:
pre_get_posts
crochet d'actionWP_Query
class