# WP_RESET_QUERY() │ WordPress 2.3.0
Функция WP_RESET_QUERY() очищает данные последнего запроса, созданного для использования в произвольном цикле WordPress, и восстанавливает стандартные данные цикла.
Произвольный запрос (циклы WordPress) выполняется с помощью функции query_posts(), которая перезаписывает глобальную переменную $wp_query.
Эту функцию следует использовать после query_posts() или если в коде использованы переменные $posts или $wp_query. Она поможет убрать неясные ошибки, которые могут возникнуть, если объект WP_Query был перезаписан.
Эту функцию нужно вызывать сразу после произвольного цикла, чтобы все условные теги работали правильно, а глобальные переменные соответствовали текущей странице (запросу).
Время выполнения:
- 1 раз — 0.000022 сек (очень быстро)
- 50000 раз — 0.04 сек (световая скорость)
**Нет хуков.**
## Возврат
Функция возвращает null. То есть, ничего (null).
## Использование
Для вызова функции просто используйте:
```php
wp_reset_query();
Примеры
Пример 1: Сброс данных запроса после пользовательского цикла
В этом примере показано, как использовать функцию после пользовательского цикла. Обратите внимание, что цикл в примере, вероятно, используется в дополнение к основному циклу.
5 ] );
if ( have_posts() ):
while ( have_posts() ) :
the_post();
// Обработаем содержимое поста.
the_title();
the_permalink(); // И так далее.
endwhile;
else:
// Вставьте любое содержимое или загрузите шаблон, если посты не найдены.
endif;
wp_reset_query();
?>
Использование query_posts() изменит ваш главный запрос, что может быть серьезной проблемой. Используйте query_posts() только в крайних случаях. Создание нового экземпляра WP_Query или get_posts() — это гораздо лучший способ для вторичных циклов. Если вы хотите изменить основной запрос, используйте действие pre_get_posts. Фильтр pre_get_posts можно добавить в ваш файл functions.php.
Заметки
- Глобальная переменная.
WP_Query.$wp_query— объект запроса WordPress. - Глобальная переменная.
WP_Query.$wp_the_query— копия глобального экземпляра WP_Query, созданного во время выполненияwp_reset_query().
Изменения в версии
- С версии 2.3.0 — введена в использование.
Код функции
function wp_reset_query() {
$GLOBALS['wp_query'] = $GLOBALS['wp_the_query'];
wp_reset_postdata();
}
Связанные функции
Сброс
wp_reset_postdata()
Запросы
esc_sql()get_boundary_post()get_children()get_page_by_title()get_pages()get_posts()get_queried_object()get_queried_object_id()get_query_var()have_posts()query_posts()rewind_posts()set_query_var()setup_postdata()wp()wp_get_recent_posts()WP_Query()wp_reset_vars()