WP_RESET_QUERY() — очистка данных запроса в WordPress

# 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()

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *