Как проверить, есть ли данные в WP_Query в WordPress

29 авг. 2013 г., 17:35:08
Просмотры: 19.3K
Голосов: 5

У меня есть следующий WP_Query, который отлично работает:

<h4>Часто задаваемые вопросы</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>

Как видите, выше запроса есть заголовок, и я хотел бы найти способ показывать этот заголовок только если в запросе есть данные. Если вопросов нет, заголовок всё равно отображается, что выглядит странно.

Есть идеи, как можно проверить, есть ли данные в запросе или нет?

Спасибо!

0
Все ответы на вопрос 1
0

Изменим подход и будем использовать метод have_posts для проверки наличия результатов:

<?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>Часто задаваемые вопросы</h4>

<ul class="faq">
    <?php 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 }
29 авг. 2013 г. 17:39:12