Cómo verificar si un WP_Query tiene datos

2

Tengo el siguiente WP_Query, que funciona muy bien:

<h4>Frequently Asked Questions</h4>

<ul class="faq">

<?php 
    $args = array(
    'post_type' => 'questions',
    'posts_per_page' => '3',                                        
    'tax_query' => array(
        array(
        'taxonomy' => 'types',
        'field' => 'slug',
        'terms' => 'customer-service'
        )
    )
);

$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post(); ?>
<li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; ?>
</ul>

Como puede ver, hay un título en la parte superior de la consulta y me gustaría encontrar una manera de mostrar ese título solo si hay valores dentro de la consulta. Si no, en caso de que no haya preguntas, el título aún se muestra y parece extraño.

¿Alguna idea de cómo puedo verificar si hay valores dentro de una consulta o no?

¡Gracias!

    
pregunta Johann 29.08.2013 - 16:35

1 respuesta

6

Cambíalo un poco y usa el método have_posts para verificar si hay resultados:

<?php 
$args = array(
    'post_type' => 'questions',
    'posts_per_page' => '3',                                        
    'tax_query' => array(
        array(
        'taxonomy' => 'types',
        'field' => 'slug',
        'terms' => 'customer-service'
        )
    )
);

$loop = new WP_Query( $args );
if ($loop->have_posts()){
?>
<h4>Frequently Asked Questions</h4>

<ul class="faq">
    while ( $loop->have_posts() ) : $loop->the_post(); ?>
        <li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
    <?php endwhile; ?>
</ul>
<?php }
    
respondido por el Bainternet 29.08.2013 - 16:39

Lea otras preguntas en las etiquetas