Cum să afișezi articole din mai multe tipuri de postări într-o singură buclă? Și să le arăți separat în același șablon

14 feb. 2017, 16:02:59
Vizualizări: 13.8K
Voturi: 1

Am patru tipuri de postări personalizate:

  1. Produse
  2. Bannere
  3. Portofoliu
  4. Recomandări

Și toate afișează postările pe același șablon de pagină principală (index.php).

În prezent folosesc următoarea interogare pentru a obține postări din diferite tipuri:

<?php
query_posts(
    array(
        'post_type' => 'work_projects',
        'work_type' => 'website_development',
        'posts_per_page' => 100
    )
);
if ( have_posts() ) : while ( have_posts() ) : the_post();

    the_post_thumbnail($size);
    the_title();
    the_content();

endwhile; endif;

Problema mea este că trebuie să adaug mai multe bucle query_post pe aceeași pagină. Am căutat soluții pe Google și am găsit răspunsuri și pe Stack Overflow, dar nu reușesc să înțeleg cum să le folosesc împreună cu the_title(), the_content() și the_post_thumbnail().

0
Toate răspunsurile la întrebare 2
0

post_type acceptă un array. Ai încercat să folosești WP_Query cu un array?

$args = array( 
         'post_type' => array( 'product', 'banner', 'portfolio', 'testimonial'),
         'post_status' => 'publish',
         'posts_per_page' => 100
    );
    $the_query = new WP_Query( $args );
14 feb. 2017 18:08:16
0

Cea mai bună practică ar fi să folosești patru interogări personalizate diferite și să parcurgi fiecare separat folosind wp_query.

Iată un exemplu:

<?php
$custom_query = new WP_Query( 
    array(
        'post_type' => 'work_projects', 
        'work_type' => 'website_development', 
        'posts_per_page' => 100
    ) 
);
if ( $custom_query->have_posts() ) : while ( $custom_query->have_posts() ) : $custom_query->the_post();

    the_post_thumbnail($size);
    the_title();
    the_content();

endwhile; endif; wp_reset_query();
?>

Apoi ai repeta procesul pentru fiecare tip de postare, înlocuind 'work_projects' cu numele următorului tip de postare.

Nu sunt sigur ce reprezintă 'work_type' în acest scenariu, dar l-am inclus înapoi în interogare deoarece era deja prezent acolo.

14 feb. 2017 16:30:16