Почему не работает else в wp-query?

есть такой код:
<?php
//happytrip - short blog
if ( ! defined( 'ABSPATH' ) ) exit;
?>   
	<!-- short blog -->
    <section class="short-blog content">
        <div class="container">
			<?php
			$args = array('post_type' => 'post', 'posts_per_page' => 3, 'order' => 'DESC', 'orderby' => 'date');
			$loop = new WP_Query($args);
			if (have_posts()) : ?>         
			<div class="row">
			<?php 
				while ($loop->have_posts()) : $loop->the_post();
				include ("single.php"); 
				endwhile; 
			?>
			</div>
			<?php else:?>
			<div class="not-found"><?php _e('Not found', 'happy'); ?></div>
			<?php endif; ?>
			<?php wp_reset_postdata(); ?>
        </div>
    </section>


не работает else: когда нету постов, должно вывести блок not-found, а оно все-равно выводит include
  • Вопрос задан
  • 52 просмотра
Решения вопроса 1
наверное потому, что Ваш have_posts() проверяет результаты глобального запроса.
Попробуйте проверять Ваш $loop ->have_posts();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы