Consultar múltiples tipos de contenido personalizados en un solo bucle

18 jun 2013, 16:41:28
Vistas: 60.2K
Votos: 24

Soy consciente de que hay varias otras publicaciones que cubren un terreno similar a lo que voy a preguntar.

Tengo tres tipos de contenido personalizados funcionando, además de 'posts'. Quiero ejecutar un bucle que extraiga todas las entradas categorizadas bajo una categoría particular

<?php
          $args = array(
    'post_type' => 'testimonial',
    'posts_per_page' => 1,
    'tax_query' => array(
        array ( 
                'taxonomy' => 'testimonial_category',
                'field' => 'slug',
                'terms' => 'home'
    )
)
);
$query = new WP_Query( $args );
                $postcount = 0;
            ?>
            <?php if ($query->have_posts()) : ?>
                <?php while ($query->have_posts()) : $query->the_post(); ?>
                    <?php $postcount++; ?>
//bucle aquí
<?php wp_reset_query(); ?>   

Este es el código que tengo en este momento, no estoy seguro de cómo condensarlo para incluir múltiples tipos de contenido de una sola categoría.

0
Todas las respuestas a la pregunta 2
7
39

Solo cambia la parte del post_type a:

'post_type' => array('testimonial', 'other_post_type', 'another-post-type'),

Asumiendo que la taxonomía es válida en los 3 tipos de entrada. De lo contrario, tendrás que omitirla.

¿Por qué? Puedes pasar un array al campo post_type.

18 jun 2013 16:46:57
Comentarios

¿Cómo especifico el nombre de la categoría en la que quiero buscar? 'taxonomy' => 'testimonial_category'

dannyw24 dannyw24
18 jun 2013 16:49:36

@user2478101 : ^^ Tu tax_query en la pregunta parece correcto, aunque no lo he probado. ¿Qué estás intentando hacer de manera diferente?

s_ha_dum s_ha_dum
18 jun 2013 16:57:50

Tengo una taxonomía en cada tipo de entrada con un término llamado 'home'. Quiero recuperar cualquier entrada que tenga ese término seleccionado.

dannyw24 dannyw24
18 jun 2013 17:00:55

Me arriesgué e intenté esto, pero no parece traer las demás publicaciones de los tipos de contenido personalizados. query_posts( array( 'post_type' => array('post', 'testimonial', 'casestudy'), 'cat' => 69, 'showposts' => 3 ) );

dannyw24 dannyw24
18 jun 2013 17:16:32

Para que esto funcione, la taxonomía debe ser idéntica para todos. Los términos, hasta donde sé, no se pueden vincular entre taxonomías. http://core.trac.wordpress.org/ticket/12269

GhostToast GhostToast
18 jun 2013 17:17:42

¿Cómo puedo hacer que la taxonomía sea la misma en todo WordPress?

dannyw24 dannyw24
18 jun 2013 17:20:22

registrar la misma taxonomía para múltiples tipos de publicación. usar el mismo nombre/slug/etc. "my_one_taxonomy" y luego registrarla para todos los tipos de publicación.

GhostToast GhostToast
18 jun 2013 17:30:53
Mostrar los 2 comentarios restantes
1
$args = array(
    'post_type'      => array( 'testimonial', 'post' ), // Tipo de posts a consultar (testimonios y entradas normales)
    'posts_per_page' => 1, // Número máximo de posts a mostrar
);
$query = new WP_Query( $args ); // Ejecuta la consulta

Nota de edición: Para consultar múltiples tipos de posts, debes añadir un array() con los tipos de posts en lugar de consultar solo uno.

1 may 2020 03:53:21
Comentarios

Samundar, ¿puedes ofrecer una explicación sobre cómo tu respuesta proporciona una solución? A veces, los usuarios que hacen una pregunta ya han estado intentando resolver algo durante horas y recibir solo un fragmento de código puede resultar abrumador.

Tony Djukic Tony Djukic
1 may 2020 06:01:41