2013-05-21 4 views
0

У меня есть код, похожий, как это:the_post() конфликт в WordPress сценария

while (have_posts()) : the_post(); 

.... more code ... 

$my_query = new WP_Query($args); 
if ($my_query->have_posts()) : 
while ($my_query->have_posts()) : 
$my_query->the_post(); 

.... other code .. 

Вопрос в том, как избежать конфликта для the_post()? Потому что с первым while loop Я обращаюсь к некоторым posts и со вторым пока другие сообщения. И мой веб-сайт отображает информацию со второго раза, но он должен отображать информацию о сообщениях с первого раза. Я думаю, что сейчас это запутанные сообщения ...

+0

если вы хотите показать данные из первых, а почему вы используете второй while loop, в любом случае не используют the_post() во внутреннем цикле while. –

ответ

1

вы можете использовать функцию wp_reset_query()

while (have_posts()) : the_post(); 

.... more code ... 
wp_reset_query(); 
$my_query = new WP_Query($args); 
if ($my_query->have_posts()) : 
while ($my_query->have_posts()) : 
$my_query->the_post(); 

.... other code .. 

Вот справочное руководство wp_reset_query()

+0

wp_reset_query() работал отлично, но я вставил его после кода, и теперь это не противоречит, спасибо! – Jigberto

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