Interogări multiple pentru tipuri de postări (cu argumente specifice pentru fiecare)

1 iun. 2012, 12:13:44
Vizualizări: 27K
Voturi: 1

Știu cum să combin tipurile de postări într-o singură buclă și să le afișez. Mai jos este ceea ce am:

        <?php

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

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

            the_title();

        endwhile; 

        ?> 

Acest cod funcționează după cum era de așteptat, dar este posibil să specific argumente diferite pentru fiecare tip de postare, păstrându-le în aceeași buclă originală?

De exemplu, trebuie să adaug un argument meta_key=value pentru tipurile de postare movie și actor. Este posibil acest lucru?

0
Toate răspunsurile la întrebare 1
1

Ai putea face ceva de genul acesta?

<?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')) {

             // Afișează conținutul pentru tipul de articol Film cu valoarea meta setată

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

             // Afișează conținutul pentru tipul de articol Actor și altă valoare meta

         }    

    endwhile; 

    ?> 
1 iun. 2012 19:58:14
Comentarii

Mulțumesc pentru răspuns. Da, momentan aceasta este singura soluție pe care am găsit-o pentru a rezolva problema. Totuși, aceasta afectează argumentul posts_per_page din interogarea originală din cauza faptului că nu toate postările au valorile meta specifice. Dar poate trebuie să acceptăm această soluție :/

Carpy Carpy
2 iun. 2012 19:24:14