Cómo mostrar publicaciones de múltiples tipos de contenido en un solo loop y mostrarlas por separado en la misma plantilla
Tengo cuatro tipos de contenido
- Productos
- Banners
- Portafolio
- Testimonios
Y todos muestran sus publicaciones en la misma plantilla de página de inicio (index.php).
Actualmente estoy usando la siguiente consulta para obtener publicaciones de diferentes tipos de contenido.
<?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;
Pero mi problema es que tengo que poner múltiples loops de query_post
en la misma página. Busqué algunas soluciones y también encontré respuestas aquí en Stack Overflow. Pero no logro entender cómo usarlas con the_title()
, the_content()
y the_post_thumbnail()
.

La mejor práctica sería utilizar cuatro consultas personalizadas diferentes y recorrer cada una por separado usando wp_query
Así que aquí hay un ejemplo:
<?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();
?>
Y luego repetirías el proceso para cada tipo de post, reemplazando 'work_projects' con el nombre del siguiente tipo de post.
No estoy seguro de qué es 'work_type' en este escenario, pero lo dejé en la consulta ya que ya lo tenías ahí.
