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
Am patru tipuri de postări personalizate:
- Produse
- Bannere
- Portofoliu
- 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()
.

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.
