Описание
Аннулирует данные последнего запроса, созданного для использования в произвольном Цикле WordPress.
Произвольный запрос осуществляется функций query_posts(), которая переписывает глобальную переменную $wp_query.
Функция должна вызываться сразу после произвольного Цикла и нужна, чтобы все условные теги работали правильно и глобальные переменные соответствовали текущей странице.
wp_reset_query() вызывает функцию wp_reset_postdata().
Функция не возвращает никаких данных.
Использование
<?php wp_reset_query(); ?>
Примеры
1. Пример, показывающий как использовать функцию после произвольного Цикла:
<?php
query_posts('posts_per_page=5');
if (have_posts()) : while (have_posts()) : the_post();
?><a href="<?php the_permalink() ?>"><?php the_title() ?></a><br /><?php
endwhile; endif;
wp_reset_query();
?>
wp_reset_query()
из файла: /wp-includes/query.php WP 3.3.2function wp_reset_query() {
unset($GLOBALS['wp_query']);
$GLOBALS['wp_query'] = $GLOBALS['wp_the_query'];
wp_reset_postdata();
}Связанные Функции
Ещё из раздела
Смотрите также: Функции WordPress и Теги Шаблона.
Процесс который оптимизируется с каждым месяцем все больше и больше, и в то же время никогда не сможет стать полностью автоматическим это — разработка сайтов. Для создания сайтов создано столько разных подручных программ, но практически не одна из них не автоматизирована полностью — очень часто это лишь инструмент в руках веб-разработчика.

Здраствуйте.Использовал данную конструкцию на сайте в сайдбаре в блоке свежих новостей,Но теперь везде где используется повторный вывод новостей (например в поиске)в цикле отображаются эти же новости и только они,у меня никак не получается сбросить этот массив .Такое ощущение что wp_reset_query(); просто отказался работать
.
Вот код этого блока
<ul> <div class=""> <ul> <?php get_posts( $mamp ); ?> <?php $mamp = array( 'numberposts' => 3, 'offset' => 0, 'category' => '', 'orderby' => 'post_date', 'order' => 'DESC', 'include' => '', 'exclude' => '', 'meta_key' => '', 'meta_value' => '', 'post_type' => 'post', 'post_mime_type' => '', 'post_parent' => '', 'post_status' => 'publish' ); $posts = get_posts($mamp); foreach($posts as $post){ setup_postdata($post); echo "<li><div class='recentsidenews'><div class='recentsidetime'>"; the_time('G:i'); echo '</div>'; echo "<div class='recentsidecategory'>"; the_category('',''); echo "</div>"; echo "<div class='recentsidezagol'>"; echo "<a href='";the_permalink(); echo "'>";the_title(); echo "</a></div></div></li><br/>"; wp_reset_query(); // формат вывода } wp_reset_query(); wp_reset_query(); ?> <?php wp_reset_postdata(); ?> </ul> </div </ul>Буду благодарен за рекомендацию как не удаляя самого блока,стабилизировать работу остальных(возможно использующих тот же цикл).Спасибо
Возможно я подумал есть какая-нибудь переменная,которая сбрасывает этот цикл полностью,так как будто раньше он не был использован.Нужна ваша помощь.