Ця стаття належить до серії статей, присвяченій вивченню класу 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 можна використовувати ще три різних класи? В цих частинах серії ми розповіли про:

  • Частину 15: WP_User_Query;
  • Частина 16: WP_Comment_Query;
  • Частина 17: WP_Meta_Query і WP_Date_Query.

Частина 18: Вдосконалення запитів в сучасних версіях WordPress

У цій статті розповідається про поліпшення, які система запитів зазнала у версії WordPress 4.1: вкладені запити, параметри для коментарів, а також виправлення помилок.

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

Сподіваємося, вам сподобалися наші матеріали, і ви поділіться ними з друзями. Хочеться вірити, що з них ви дізналися багато нового, і обов’язково зможете застосувати ці знання на практиці.

Переклад статті «Mastering WP_Query: Series Finale» був підготовлений дружною командою проекту Сайтостроение від А до Я.