Obtener Entradas por Tipo de Entrada Personalizada, Taxonomía y Término

14 mar 2012, 19:43:14
Vistas: 131K
Votos: 19

Ok, tengo un Tipo de Entrada Personalizada llamado "Services". Este tipo de entrada personalizada tiene una taxonomía llamada "Areas" y hay 5 términos en esa taxonomía.

Digamos que tengo 10 entradas en "Services" y hay 5 entradas en el término "Painting" y 5 más en el término "Photography".

Necesito poder consultar entradas de "Services" pero en lugar de mostrar esas 10 entradas, solo mostrar las 5 asociadas a "Painting".

Por el momento puedo consultar por taxonomía y términos, pero eso mostrará todas las entradas de "services" sin filtrar por término.

Básicamente consultar entradas por post_type desde el término que elija.

Cualquier ayuda sería genial. Gracias.

<ul id="service-list">
<?php 
        // Argumentos para la consulta con taxonomía
        $args = array('tax_query' => array( array('taxonomy' => 'areas', 'field' => 'slug','terms' => 'painting')));

        $the_query = new WP_Query( $args );

        if($the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post();

        ?>

    <li class="service">
        <h2><?php the_title(); ?></h2>
        <?php the_content(); ?>
    </li><!-- /.service -->

<?php endwhile; else: ?>

    <p>No hay nada aquí.</p>

<?php endif; wp_reset_postdata(); ?>

</ul><!-- #service-list -->

Entonces si pudiera simplemente especificar en los $args de qué tipo de entrada obtener las entradas, esto estaría resuelto.

3
Comentarios

Bien, parece que sobreanalicé todo esto y la solución era realmente simple:

Rise Rise
14 mar 2012 19:55:34

Por favor marca tu respuesta como correcta o elimina el tema.

AlxVallejo AlxVallejo
14 mar 2012 19:57:22

Necesito esperar 7 horas para publicar la solución :(

Rise Rise
14 mar 2012 19:58:28
Todas las respuestas a la pregunta 1
0
36

Esta es la respuesta a la pregunta :)

<?php 

$args = array(
    'post_type'=> 'services', // Tipo de publicación
    'areas'    => 'painting', // Área (pintura)
    'order'    => 'ASC'       // Orden ascendente
);              

$the_query = new WP_Query( $args );
if($the_query->have_posts() ) : 
    while ( $the_query->have_posts() ) : 
       $the_query->the_post(); 
       // el contenido va aquí
    endwhile; 
    wp_reset_postdata(); // Reiniciar datos del post
else: 
endif;

?>
22 mar 2012 17:25:04