2016-09-15 5 views
0

У меня есть только следующий код в файле шаблона Wordpress, и хотя в базе данных есть только два сообщения, он переходит в бесконечный цикл.Wordpress запрос переходит в бесконечный цикл

$args = array(
    'posts_per_page' => '‐1', 
    'post_type' => 'products', 
); 

$myProducts = new WP_Query($args); 

// The Loop 
while ($myProducts->have_posts()) : $myProducts‐>the_post(); 
    echo 'loop body'; 
endwhile; 

// Reset Post Data 
wp_reset_postdata(); 

Если я печатаю переменную $ myProducts, я могу видеть два сообщения там. Почему же бесконечный цикл?

+0

Есть ли какой-нибудь другой код в файле шаблона WordPress, который здесь не включен? Вы уверены, что бесконечный цикл происходит там, где вы думаете? –

+0

Да, это единственный код в моем шаблоне. Я знаю, что бесконечный цикл находится в состоянии while, потому что мой экран заполнен «телом цикла». –

ответ

0
<?php 
$params = array(
     'posts_per_page' => 5, 
     'post_type' => 'product' 
); 
$wc_query = new WP_Query($params); 
?> 
<?php if ($wc_query->have_posts()) : ?> 
<?php while ($wc_query->have_posts()) : $wc_query->the_post(); ?> 
<?php the_title(); ?> 
<?php endwhile; ?> 
<?php wp_reset_postdata(); ?> 
<?php else: ?> 
<p> 
    <?php _e('No Products'); ?> 
</p> 
<?php endif; ?> 

Это прекрасно работает для меня.

Смежные вопросы