Interrogez plusieurs types de publication personnalisés en une seule boucle

14

Je suis conscient qu'il existe plusieurs autres articles qui couvrent un terrain similaire à ce que je vais demander.

J'ai trois types de messages personnalisés en cours d'exécution, en plus des «messages». Je veux exécuter une boucle qui tire tous les messages classés dans une catégorie particulière

 <?php
          $args = array(
    'post_type' => 'testimonial',
    'posts_per_page' => 1,
    'tax_query' => array(
        array ( 
                'taxonomy' => 'testimonial_category',
                'field' => 'slug',
                'terms' => 'home'
    )
)
);
$query = new WP_Query( $args );
                $postcount = 0;
            ?>
            <?php if ($query->have_posts()) : ?>
                <?php while ($query->have_posts()) : $query->the_post(); ?>
                    <?php $postcount++; ?>
//loop here
<?php wp_reset_query(); ?>   

C'est le code que j'ai en ce moment, je ne sais pas comment je condense cela en attirant plusieurs types de messages d'une catégorie.

dannyw24
la source

Réponses:

28

Changez simplement le post_typebit en:

'post_type' => array('testimonial', 'other_post_type', 'another-post-type'),

En supposant que la taxonomie est valide pour les trois types de publication. Sinon, vous devrez laisser cela de côté.

Pourquoi? Vous pouvez transmettre un tableau à post_typefield.

GhostToast
la source
Comment puis-je dire dans quel nom de catégorie rechercher. 'Taxonomy' => 'testimonial_category'
dannyw24
@ user2478101: ^^ Votre tax_queryquestion semble correcte, même si je ne l'ai pas testée. Qu'essayez-vous de faire différemment?
s_ha_dum
J'ai une taxonomie dans chaque type de message avec un terme appelé home.Je veux retirer n'importe quel message qui a celui sélectionné
dannyw24
J'ai pris un pari et j'ai essayé cela, mais cela ne semble pas attirer les autres messages des types de messages personnalisés. query_posts (array ('post_type' => array ('post', 'testimonial', 'casestudy'), 'cat' => 69, 'showposts' => 3));
dannyw24
Pour que cela fonctionne, la taxonomie doit être identique pour tous. Pour autant que je sache, les termes ne peuvent pas être liés entre les taxonomies. core.trac.wordpress.org/ticket/12269
GhostToast