Вивчення WP_Query WordPress

18

Від автора: вітаю вас в останній статті на тему «Вивчення 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 уроків дізналися щось нове для себе, значить, ми намагалися не дарма.

Якщо у вас є будь-які зауваження, поради і пропозиції, залишайте їх у коментарях. І як завжди, якщо вам сподобалася ця серія статей, поділіться нею зі своїми друзями.