Query multiple tipi di post (con argomenti specifici per ciascuno)

1 giu 2012, 12:13:44
Visualizzazioni: 27K
Voti: 1

So come combinare i tipi di post in un unico loop e visualizzare il risultato. Ecco quello che ho:

        <?php

        $args = array(
            'post_type' => array('post','movie','actor'),
            'posts_per_page' => '20',
        );

        query_posts( $args );
        while ( have_posts() ) : the_post(); 

            the_title();

        endwhile; 

        ?> 

Questo funziona come previsto, tuttavia è possibile specificare argomenti diversi per ogni tipo di post, mantenendoli all'interno dello stesso loop originale?

Per esempio, ho bisogno di aggiungere un argomento meta_key=value ai tipi di post movie e actor. È possibile?

0
Tutte le risposte alla domanda 1
1

Potresti fare qualcosa del genere?

<?php

    $args = array(
        'post_type' => array('post','movie','actor'),
        'posts_per_page' => '20',
    );

    query_posts( $args );
    while ( have_posts() ) : the_post(); 

        global $post;

        if (($post_type == 'movie') && (get_post_meta($post->ID, 'meta_key', true) == 'your-value')) {

             // Visualizza il contenuto per il tipo di post Movie con valore meta impostato

         } else if (($post_type == 'actor') && (get_post_meta($post->ID, 'meta_key', true) == 'your-other-value')) {     

             // Visualizza il contenuto per il tipo di post Actor e altro valore meta

         }    

    endwhile; 

    ?> 
1 giu 2012 19:58:14
Commenti

Grazie per la risposta. Sì, attualmente questo è l'unico modo che ho trovato per aggirare il problema. Tuttavia, questo incasina l'argomento posts_per_page nella query originale perché non tutti i post hanno i valori meta specifici. Ma potrebbe essere la soluzione da adottare :/

Carpy Carpy
2 giu 2012 19:24:14