Мы надеемся, что вам понравилось. В этой заключительной части мы собираемся пройти через то, что мы узнали, и закрыть шторы.
Часть 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()
, который являетсяhave_posts()
, который возвращаетTRUE
если в запросе возвращены сообщения -
the_post()
, который превращает винтики в цикл -
setup_postdata()
, которая устанавливает глобальную переменную$post
-
rewind_posts()
, который очищает текущий цикл -
wp_reset_postdata()
, которая сбрасывает глобальную переменную$post
-
wp_reset_query()
, который сбрасывает весь запрос -
is_main_query()
, который проверяет, является ли текущий запрос основным (и является ли он другимis_main_query()
) -
in_the_loop()
, которая проверяет, находимся ли мы в цикле (и является еще однимin_the_loop()
)
Часть 4: Связанные фильтры и действия
Эта часть, которую я написал, была одновременно раздражающей и полезной. Это было неприятно, потому что это заняло больше времени на исследования, но это было очень полезно, потому что, ну, я многому научился. (Советы по обучению: напишите учебник по теме, о которой вы мало знаете!)
Каждый WP_Query
связанный с WP_Query
был (в некотором роде) о командах SQL, которые выполняют запрос — большинство из них фильтруют различные предложения, такие как LIMIT
, WHERE
или DISTINCT
. Три действия, с другой стороны, служат различным целям:
- Действие
pre_get_posts
вмешивается в запрос перед его выполнением. - Действие
parse_query
обрабатывает синтаксический анализ запроса. - Действие
the_post
изменяет объект 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
В следующих семи частях Рэйчел проделала фантастическую работу, объясняя все аргументы, которые мы можем использовать с классом WP_Query
, с небольшими примерами:
- Часть 6: Аргументы — страницы, сообщения и типы сообщений
- Часть 7. Аргументы — категории и теги
- Часть 8: Аргументы — Таксономии
- Часть 9: Аргументы — пользовательские поля
- Часть 10. Аргументы — дата
- Часть 11: Аргументы — пост-статус, нумерация страниц и порядок
- Часть 12. Аргументы : автор, поиск, пароль, разрешения, поля кэширования и возврата
Часть 13: 10 полезных примеров WP_Query
В этой части я позволил себе просмотреть различные примеры с использованием класса WP_Query
и связанных с ним функций. (Я также привел быстрый пример, чтобы напомнить вам, как создать цикл с WP_Query
.) Примеры были о:
- перечисление авторских постов в текущем году
- создание «Последние сообщения из этой категории», которая исключает текущее сообщение
- составление списка «Самые популярные сообщения», упорядоченного по количеству комментариев
- создание простого слайдера
- показ случайной цитаты на боковой панели
- список товаров в ценовом диапазоне
- создание шорткода для отображения поста внутри поста
- список текущих запланированных сообщений (с выдержками, если хотите)
- отображение раздела «Сообщение из года назад сегодня»
- показывая детей текущей страницы
Я должен признать, что это была самая забавная часть, над которой я работал!
Часть 14. Комбинирование WP_Query с основным запросом.
Эта часть, написанная Рэйчел, рассказывает нам о комбинировании класса WP_Query
с основным запросом. Это очень интригующая тема, но я должен привести здесь несколько спойлеров — в этой части Рэйчел привела три замечательных примера:
- Первый пример касался отображения только сообщений одного типа в архиве категорий.
- Второй пример был о получении постов (возвращаемых основным запросом) по типу поста и перечислении постов, разделенных по типу поста, но в одном листинге.
- Третий пример — разделение основного запроса на два пользовательских запроса.
Части с 15 по 18: Спутники класса WP_Query
Знаете ли вы, что существуют классы, которые работают как класс WP_Query
чтобы помочь WP_Query
? В следующих частях Рэйчел и я говорили о:
- освоение
WP_User_Query
в части 15 - освоение
WP_Comment_Query
в части 16 - освоение
WP_Meta_Query
иWP_Date_Query
в части 17
Часть 18: Улучшения запросов в WordPress 4.1
В этой части Рэйчел рассказала об улучшениях системы запросов WordPress в версии 4.1, таких как вложенные запросы, параметры комментариев и общее исправление ошибок. Это нежная часть, легкое чтение до конца.
Часть 19: Конец
Как сказал Оракул в «Матричных революциях»: у всего, что имеет начало, есть конец.
Это была долгая поездка, и, как я сказал в начале, это одна из самых длинных серий в истории Tuts +. Я объединил усилия с Рэйчел МакКоллин, одним из лучших инструкторов в Tuts +, и мы оба гордимся тем, что написали самую длинную, самую всеобъемлющую и самую эпическую серию учебников по классу WP_Query
и его компаньонам.
Мы очень усердно работали над сериалом, и мы очень надеемся, что вам понравилось все это. Если вы узнали что-то новое в этой серии из 19 частей, то мы рады, что проделали хорошую работу.
Если у вас есть какие-либо комментарии к этой серии, не стесняйтесь поделиться своими мыслями в разделе комментариев ниже. И, как всегда, если вам понравилась серия, не забудьте поделиться этой заключительной частью с друзьями в качестве индекса.
Ура!