WP Query con taxonomías personalizadas

11 ene 2013, 14:18:57
Vistas: 29.1K
Votos: 2

Estoy empezando a familiarizarme con WP Query y esperaba poder obtener algo de ayuda con esto.

He creado una taxonomía personalizada (theme) y ahora quiero mostrar la última entrada con una de estas taxonomías en mi página principal como una publicación destacada.

No logro averiguar cómo filtrar la consulta correctamente, tal vez alguien pueda corregirme:

<?php
           $args = array(
                'tax_query' => array(
                    array(
                        'posts_per_page' => 1,
                        'taxonomy' => 'theme',
                        'field' => 'slug',
                        'terms' => array ('text-image', 'just-text', 'just-image')
                    )
                )
            );
            $query = new WP_Query( $args );
           ?>
           <?php if (have_posts()) : while (have_posts()) : the_post(); ?>

Cualquier ayuda sería muy apreciada, ¡gracias!

EDICIÓN: Aquí está el código terminado en caso de que alguien más lo necesite:

<?php
           $args = array(
            'post_type' => 'post', // es el valor por defecto, puedes omitirlo
            'posts_per_page' => '1',
            'order_by' => 'date', // también es el valor por defecto
            'order' => 'DESC', // también es el valor por defecto
                'tax_query' => array(
                    array(
                        'taxonomy' => 'nameoftaxonomy',
                        'field' => 'slug',
                        'terms' => array ('whatever1', 'whatever2', 'whatever3')
                    )
                )
            );
            $query = new WP_Query( $args );
           ?>
           <?php if (have_posts()) : while( $query->have_posts() ) : $query->the_post(); ?>

¡Gracias por la ayuda!

1
Comentarios

¿Estás seguro de que alguna de las publicaciones cumple con este criterio de búsqueda?

Rohit Pande Rohit Pande
11 ene 2013 14:26:35
Todas las respuestas a la pregunta 2
0

Tus argumentos de WP_Query son incorrectos. posts_per_page no forma parte de tax_query. Lo siguiente debería funcionar:

$args = array(
    'post_type' => 'post', // es el valor por defecto, puedes omitirlo
    'posts_per_page' => '1',
    'order_by' => 'date', // también es el valor por defecto
    'order' => 'DESC', // también es el valor por defecto
    'tax_query' => array(
        array(
            'taxonomy' => 'theme',
            'field' => 'slug',
            'terms' => array ('text-image', 'just-text', 'just-image')
        )
    )
);
11 ene 2013 15:47:52
1

Debes usar tu objeto de esta manera:

while ( $query->have_posts() ) : $query->the_post();
11 ene 2013 14:25:16
Comentarios

Si el fragmento es bueno, ¿puedes validar la respuesta para los demás? :)

miko7358 miko7358
11 ene 2013 14:30:08