Изучаем WP_Query: Завершение

Эта статья относится к серии статей, посвященной изучению класса WP_Query.

Рады приветствовать вас в завершающей статье из этой серии. Надеемся, вам она понравилась. Давайте подытожим то, чему мы научились по ходу серии.

Часть 1: Введение

В этой публикации мы рассказали вам о том:

  • Что такое WP_Query;
  • Как использовать WP_Query, и почему нам следует выбирать именно этот класс среди других доступных методов работы с произвольными запросами;
  • Какие подводные камни существуют при работе с WP_Query.

Часть 2: Изучаем WP_Query: Используем циклы

Вторая статья из серии была посвящена созданию циклов при помощи класса WP_Query. В ней мы узнали:

  • Что такое цикл в WordPress и где он используется;
  • Структура циклов в WordPress (с отличным примером);
  • Запуск дополнительных циклов при помощи класса WP_Query.

Часть 3: Связанные функции

Эта часть была посвящена 13 функциям, которые взаимодействуют с WP_Query. Мы рассмотрели следующие функции:

  • get_query_var() — получает переменные публичного запроса;
  • query_posts(), — изменяет основной цикл, и которой лучше не пользоваться;
  • get_post() — возвращает запись, с которой вы собираетесь работать;
  • get_posts() — получает записи и возвращает их в виде массива;
  • get_pages() — по тому же принципу возвращает страницы;
  • have_posts() – условный тег, который возвращает значение true, если запрос обнаружил какие-либо записи;
  • the_post() – индексирует переменную поста в цикле;
  • setup_postdata() — устанавливает переменную $post;
  • rewind_posts() — очищает текущий цикл;
  • wp_reset_postdata() — сбрасывает глобальную переменную $post;
  • wp_reset_query() — сбрасывает весь запрос;
  • is_main_query() — проверяет, является ли текущий запрос основным (и также является условным тегом);
  • in_the_loop() — проверяет, находимся ли мы в пределах цикла (и также является условным тегом).

Часть 4: Действия и фильтры

Каждый фильтр, связанный с WP_Query взаимосвязан с SQL-командами, которые запускают запрос. Большинство из них фильтруют различные команды: LIMIT, WHERE или DISTINCT. Есть три действия, которые можно использовать в следующих целях:

  • Действие pre_get_posts взаимодействует с запросом до запуска;
  • Действие parse_query реализует парсинг запроса;
  • Действие the_post изменяет объект post.

Часть 5: Свойства и методы

В этой части мы прошлись по свойствам и методам класса WP_Query. Мы познакомились со следующими свойствами:

  • $query;
  • $query_vars;
  • $queried_object;
  • $queried_object_id;
  • $posts;
  • $post_count;
  • $found_posts;
  • $max_num_pages;
  • $current_post;
  • $post;
  • еще 25 свойств, которые начинаются с $is_, и работают по типу условных тегов.

Со следующими методами:

  • init();
  • parse_query();
  • parse_query_vars();
  • get();
  • set();
  • &get_posts();
  • next_post();
  • the_post();
  • have_posts();
  • rewind_posts();
  • &query();
  • get_queried_object();
  • get_queried_object_id();

В течение следующих 7 частей мы рассматривали аргументы, которые можно использовать вместе с классом WP_Query:

Часть 6: Аргументы WP_Query: страницы, записи и типы записей.

Часть 7: Аргументы WP_Query: рубрики и теги.

Часть 8: Аргументы WP_Query: таксономии.

Часть 9: Аргументы WP_Query: произвольные поля.

Часть 10: Аргументы WP_Query: дата.

Часть 11: Аргументы WP_Query: статус, порядок и пагинация.
Часть 12: Аргументы WP_Query: авторы, поиск, пароли, права доступа, кэширование и возврат паролей.

Часть 13: 10 полезных примеров

В этой части мы решили представить различные примеры использования класса WP_Query и связанных с ним функций:

  • вывод записей автора за текущий год;
  • создание списка самых свежих записей из заданной категории;
  • разработка списка «самое популярное» с сортировкой по количеству комментариев;
  • создание простого слайдера;
  • вывод случайной цитаты в боковой панели;
  • перечень продукции из определенной ценовой категории;
  • создание шорткода для отображения записи внутри записи;
  • перечень запланированных к публикации записей;
  • отображение записи, которая публиковалась в этот день год назад;
  • отображение дочерних страниц для текущей страницы.

Часть 14: Комбинируем WP_Query и основной запрос

В этой статье рассказывается о том, каким образом можно использовать класс WP_Query с основным запросом. В статье приводится три примера:

  • Первый пример был посвящен отображению записей только одного типа на странице архива категории;
  • Во втором примере рассказывается, как получить записи (полученные с помощью основного запроса) разных типов и отобразить их раздельно, но в одном списке;
  • Третий пример показывает, как разделить основной запрос на два произвольных.

Части 15-17: вспомогательные классы для WP_Query

Знаете ли вы о том, что вместе с WP_Query можно использовать еще три разных класса? В этих частях серии мы рассказали о:

Часть 18: Совершенствование запросов в современных версиях WordPress

В этой статье рассказывается об улучшениях, которые система запросов претерпела в версии WordPress 4.1: вложенные запросы, параметры для комментариев, а также исправление ошибок.

Часть 19: Завершение

Надеемся, что вам действительно понравились наши материалы, и вы поделитесь ими с друзьями. Хочется верить, что из них вы узнали много нового, и обязательно сможете применить эти знания на практике.

Перевод статьи “Mastering WP_Query: Series Finale” был подготовлен дружной командой проекта Сайтостроение от А до Я.