web-dev-qa-db-fra.com

Comment vérifier si un WP_Query a des données

J'ai le WP_Query suivant, qui fonctionne très 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>

Comme vous pouvez le constater, il y a un titre en haut de la requête et j'aimerais trouver un moyen de l'afficher uniquement s'il y a des valeurs dans la requête. Sinon, s'il n'y a pas de questions, le titre est toujours affiché et ça a l'air bizarre.

Des idées, comment puis-je vérifier s'il y a des valeurs dans une requête ou non?

Merci!

2
Johann

Modifiez-le un peu et utilisez la méthode have_posts pour vérifier s’il ya des résultats:

<?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 }
6
Bainternet