Query di più custom post types in un singolo loop

18 giu 2013, 16:41:28
Visualizzazioni: 60.2K
Voti: 24

Sono consapevole che ci sono diversi altri post che trattano argomenti simili a quello che sto per chiedere.

Ho tre custom post types attivi, oltre ai 'posts'. Voglio eseguire un loop che estragga tutti i post categorizzati sotto una particolare categoria

<?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 qui
<?php wp_reset_query(); ?>   

Questo è il codice che ho al momento, non sono sicuro di come condensarlo per estrarre più tipi di post da una singola categoria.

0
Tutte le risposte alla domanda 2
7
39

Basta modificare la parte del post_type in:

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

Supponendo che la tassonomia sia valida per tutti e 3 i tipi di post. Altrimenti dovrai ometterla.

Perché? Puoi passare un array al campo post_type.

18 giu 2013 16:46:57
Commenti

Come faccio a specificare il nome della categoria in cui cercare. 'taxonomy' => 'testimonial_category'

dannyw24 dannyw24
18 giu 2013 16:49:36

@user2478101 : ^^ Il tuo tax_query nella domanda sembra corretto, anche se non l'ho testato. Cosa stai cercando di fare diversamente?

s_ha_dum s_ha_dum
18 giu 2013 16:57:50

Ho una tassonomia in ogni tipo di post con un termine chiamato home. Voglio estrarre qualsiasi post che lo abbia selezionato

dannyw24 dannyw24
18 giu 2013 17:00:55

Ho tentato questa soluzione, ma non sembra recuperare altri post dai tipi di post personalizzati. query_posts( array( 'post_type' => array('post', 'testimonial', 'casestudy'), 'cat' => 69, 'showposts' => 3 ) );

dannyw24 dannyw24
18 giu 2013 17:16:32

Per far funzionare questo, la tassonomia deve essere identica per tutti. Per quanto ne so, i termini non possono essere collegati tra tassonomie diverse. http://core.trac.wordpress.org/ticket/12269

GhostToast GhostToast
18 giu 2013 17:17:42

Come posso rendere la tassonomia uniforme in tutto WordPress?

dannyw24 dannyw24
18 giu 2013 17:20:22

registra la stessa tassonomia per più tipi di post. utilizza lo stesso nome/slug/ecc. "my_one_taxonomy" e poi registrala per tutti i tipi di post.

GhostToast GhostToast
18 giu 2013 17:30:53
Mostra i restanti 2 commenti
1
$args = array(
    'post_type'      => array( 'testimonial', 'post' ),
    'posts_per_page' => 1,
);
$query = new WP_Query( $args );

Nota di Modifica: Per interrogare più tipi di post, è sufficiente aggiungere un array() di tipi di post invece di interrogare solo uno.

1 mag 2020 03:53:21
Commenti

Samundar, puoi offrire una spiegazione su come la tua risposta fornisca una soluzione? A volte gli utenti che fanno una domanda hanno già provato a risolvere qualcosa per ore e ricevere solo un frammento di codice può sembrare scoraggiante.

Tony Djukic Tony Djukic
1 mag 2020 06:01:41