Від автора: вітаю вас в останній статті на тему «Вивчення WP_Query». Наша подорож була досить довгою. Rachel і я горді тим, що саме ми автори цієї серії. Сподіваємося, вам сподобався круїз. У цій заключній частині ми згадаємо все, що було вивчено і, нарешті, завершимо серію
Частина 1: Вступ
Ця стаття від Rachel була вступної. У ній ми дізналися:
Що з себе являє WP_Query простими словами і у прикладах
Навіщо слід використовувати WP_Query, і чому краще використовувати цей, а не інші методи для створення користувацьких запитів
Про застереження при використанні WP_Query
Частина 2: Цикли в WP_Query
Друга частина розповідала про створення циклів у класі WP_Query, також була написана Rachel. З цієї статті ми дізналися:
Що таке цикл в WordPress і коли він використовується
Способи структурування циклів (з детальними прикладами)
Як запускати екстра цикли
Частина 3: Функції працюють з WP_Query
У цій статті, написаній вашим покірним слугою, ми розглянули 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
Ця частина була одночасно і нудною, і важливою. Дратувало те, що занадто багато інформації потрібно було досліджувати, а це займало багато часу. Але воно того коштувало, ми багато чого дізналися. (Поради від про: створіть парочку завдань на тему, про яку хоч щось знаєте!)
Кожен фільтр, пов’язаний з WP_Query, це SQL-команда, яка запускає запит – більшість з них обробляють різні умови LIMIT, WHERE або DISTINCT. А 3 екшену нижче служать зовсім для інших цілей:
pre_get_posts вбудовується в запит перед його виконанням.
parse_query парсити запит.
the_post модифікує об’єкт посту.
Частина 5: Властивості і методи
У цій статті я описав властивості і методи класу WP_Query. («Властивості» і «методи» це ті ж самі змінні і функції, але всередині PHP класу) Вивчені нами властивості:
$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()
Частина 6-12: Аргументи класу WP_Query
У наступних семи статтях Rachel виконала грандіозну роботу і пояснила принципи роботи всіх аргументів, які можна використовувати в класі WP_Query з прикладами:
Частина 6: Аргументи – Сторінки, пости і типи постів
Частина 7: Аргументи – Категорії і Теги
Частина 8: Аргументи — Класифікації
Частина 9: Аргументи – Настроювані поля
Частина 10: Аргументи – Дата і час
Частина 11: Аргументи – Статус посади, посторінкова навігація і сортування
Частина 12: Аргументи – Поля Author, Search, Password, Permissions, Caching і Return
Частина 13: 10 корисних прикладів використання WP_Query
У цій статті я взяв на себе сміливість випробувати кілька прикладів різного застосування класу WP_Query і його функцій. (Також швиденько нагадав вам, як створюються цикли в WP_Query) Самі приклади:
Отримання списку постів автора за певний рік
Створення розділу «Останні пости з цієї категорії», за винятком поточного поста
Створення розділу «найпопулярніші пости», відсортованого за кількістю коментарів у статтях
Створення простого слайдера
Відображення випадкової цитати в сайдбарі
Відображення товарів в певному ціновому діапазоні
Як показати пост всередині поста
Створення списку заплановані постів (з анотаціями)
Створення розділу «Пост рік тому»
Як показати «дітей» поточної сторінки
Це була найвеселіша стаття з серії!
Частина 14: Об’єднання WP_Query і основних запитів
Статтю написала Rachel, в ній вона розповіла, як скомбінувати WP_Query з основним запитом. Тут не обійтися без спойлерів, Rachel призвела 3 чудових прикладу:
Перший приклад показував, як відобразити пости одного типу з архіву категорій.
Як витягнути пости (через головний запит) за певним типом і відобразити пости кожного типу окремо в одному списку.
Як розділити один основний запит в два користувальницьких.
Частина 15-17: Споріднені класи WP_Query
А ви знали, що існують родинні WP_Query класи, допомагають йому? У цій статті я і Rachel розповіли про:
Вивченні WP_User_Query в частині 15
Вивченні WP_Comment_Query в частині 16
Вивченні WP_Meta_Query і WP_Date_Query у частині 17
Частина 18: Поліпшення в запитах в WordPress 4.1
У цій частині Rachel розповіла про покращення в системі запитів в WordPress v.4.1 – таких як вкладені запити, параметри коментарів і фікси основних багів. Легка стаття перед завершенням всієї серії.
Частина 19: Заключна
Як сказала Оракул з Матриці Революції: «Все, що має початок, має і кінець.»
Це була довга подорож, і як я казав на початку цієї статті, ця серія вийшло однією з найдовших в історії Tuts+. Свої зусилля я об’єднав з Rachel McCollin, однією з кращих інструкторів на Tuts+. Ми з гордістю можемо сказати, що написали саму всеосяжну, саму довгу серію уроків по класу WP_Query.
Ми важко працювали над створенням цієї серії і сподіваємося, вам була корисна кожна строчка. Якщо ви за ці 19 уроків дізналися щось нове для себе, значить, ми намагалися не дарма.
Якщо у вас є будь-які зауваження, поради і пропозиції, залишайте їх у коментарях. І як завжди, якщо вам сподобалася ця серія статей, поділіться нею зі своїми друзями.