Cómo mostrar publicaciones de múltiples tipos de contenido en un solo loop y mostrarlas por separado en la misma plantilla

14 feb 2017, 16:02:59
Vistas: 13.8K
Votos: 1

Tengo cuatro tipos de contenido

  1. Productos
  2. Banners
  3. Portafolio
  4. 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().

0
Todas las respuestas a la pregunta 2
0

post_type acepta un array. ¿Has intentado usar WP_Query con 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

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í.

14 feb 2017 16:30:16