Sur ma page principale, je souhaite afficher les messages de 3 catégories et 1 type de message personnalisé.
Existe-t-il un moyen de les réunir dans une fonction pre_get_posts
? Ou dois-je interroger séparément - une fois pour le CPT et une fois pour les publications de catégories spécifiques?
Si vous recherchez une publication de la catégorie a, une de la catégorie b, une autre catégorie de formulaire c, puis enfin un type de publication personnalisé, chacun de ces éléments doit constituer une requête distincte.
Considérez-les comme des "requêtes secondaires" - (la requête principale étant ce qui vous conduit à la page d'accueil). Donc, vous voudrez utiliser des instances distinctes de WP_Query
(voir cet article lié ).
Par exemple.
$post_from_cat_a = new WP_Query(array(
'category__name' => array('a'),
'posts_per_page'=> 1
));
if( $post_from_cat_a->have_posts() ){
while( $post_from_cat_a->have_posts() ): $post_from_cat_a->the_post();
//Display output here
endwhile;
}
$post_from_cat_b = new WP_Query(array(
'category__name' => array('b'),
'posts_per_page'=> 1
));
if( $post_from_cat_b->have_posts() ){
...
...
etc. N'oubliez pas d'appeler wp_reset_postdata();
à la fin.