Отримання і висновок записів

Для кожної сторінки ядро ​​WordPress формує запит до БД для отримання записів на основі параметрів GET запиту. Налаштування пошуку постів встановлюються в глобальному об'єкті $ wp_query. При необхідності, ви можете модифікувати цей базовий запит йди ж сформувати новий об'єкт запиту до БД - WP_Query.

SQL запит об'єкта WP_Query зберігається у властивості request:

Зміна базового запиту

Параметри GET запиту

Використання WP_Query для отримання записів

Відразу наведу приклад повного циклу виведення записів / постів:

Примітка

Ф-ція wp_reset_postdata () відновлює глобальну змінну $ post з глобального об'єкта $ wp_query:

Далі детально розглянемо деталі кожного етапу і додаткових можливостей.

Методи отримання записів

Отримання одного запису / поста по id або slug:

Примітка

Функція get_post () - це обгортка над WP_Post. вона вживає додаткових параметри $ output і $ filter:

Сформувати новий запит для отримання записів / постів WP_Query:

Примітка

фільтри записів

Основні фільтри і параметри запиту

Примітка

page (число) - Номер для статичної домашньої сторінки. Показує записи, які в звичайному режимі повинні були бути показані на сторінці пагінацію Х головною статичної сторінці (front page).

Примітка

Примітка до типам постів:

Фільтр по дереву (ієрархії)

Примітка

Фільтр по тегам (мітках)

meta_query - фільтр по мета даними

Параметр meta_query представляє масив вкладених параметрів фільтрації записів / постів по мета даними.

tax_query - фільтр по таксономиям

приклади запитів

Отримати дочірні сторінки для поточної сторінки:

Усього доступно постів:

Додати фільтр запиту "пости тільки з зображеннями":

висновок записів

Цикл виведення записів

Примітка

Використовуйте wp_reset_postdata () для "скидання" значення глобальної змінної $ post до стану основного запиту, після завершення будь-яких циклів обходу записів! Оскільки кожен the_post () замінює глобальні змінні, ви можете виявити, що на сторінці записи, наприклад, змінна $ post містить не основний пост, а якийсь інший. Який швидше за все буде останнім постом з якогось циклу.

Додаткові / мета поля

Отримати мета поля:

Отримати посилання на основне зображення поста:

WP_Query: query_vars

Отримати об'єкт (пост або таксономія) запиту для поточного маршруту / ЧПУ:

Отримати параметри запиту для поточної сторінки:

Отримати параметр запиту WP_Query поточної сторінки (поста або записів розділу):

setup_postdata ($ post)

Витягує дані поста і формує глобальні змінні поста. Використовує передану змінну $ post і глобальний об'єкт запиту $ wp_query. Створюються такі глобальні змінні: $ id, $ authordata, $ currentday, $ currentmonth, $ page, $ pages, $ multipage, $ more, $ numpages.

Функція працює тільки за умови, що ви передаєте їй глобальний об'єкт поста з ім'ям $ post. Якщо у вас об'єкт поста знаходиться в іншій змінній - встановіть $ post = $ myWpPost, після чого передайте $ post в цю ф-цію. Я не дуже розумію як працює ця ф-ція, якщо передавати їй ID поста замість $ post.

$ Query_vars - аргументи запиту

Отримання окремих полів поста (post_type, post_title, post_status, post_content ..):

#worspress, #search, #filter

Схожі статті