Home -> WordPress для программистов -> Использование объекта WP_Query в WordPress

Использование объекта WP_Query в WordPress

Использование объекта WP_Query в WordPress

Когда WordPress получает URL для парсинга от веб-сервера, он разбирает знаки в этом URL и конвертирует их в параметры для запроса базы данных. Вот несколь­ко более детальное описание того, что происходит при управлении экземпляром WP_Query.

WP_Query это класс, определенный в WordPress, который облегчает создание собственных циклов. И query_posts(), и get_posts( ) используют классWP_Query для возврата контента WordPress.

Когда вы используете query_posts(), глобальная переменная$wp_query используется как копия WP_Query, делая$wp_query хранили­щем данных по умолчанию для нескольких операций. Произвольные циклы могут использоваться где угодно в файлах шаблона темы для отображения различных типов содержимого. Они должны создавать отдельные экземпляры переменной WP_Query.

Когда вы создаете новый объект WP_Query, он обладает несколькими предустанов­ленными функциями для построения запросов, выполнения запросов для полу­чения записей и парсинга параметров из URL. Однако вы можете использовать эти встроенные объектные методы для построения собственных строк параметров и создания произвольных циклов, которые извлекают любой необходимый контент, указанный в цикле.

Ниже приведен пример произвольного цикла, отображающего десять последних записей на сайте:

Вместо использования несложных вызовов have_posts() и the_post(), которые вы видели в базовом цикле, произвольный цикл вызывает методы заново созданного объекта WP_Query $myPosts.

Явный вызов процедуры, показанный здесь, и вызов по умолчанию have_posts() функционально эквиваленты, have_posts(), напри­мер, представляет собой просто вызов $wp_query->have_posts() с использованием глобальной переменной запроса для запроса по умолчанию, то есть той, которая сгенерирована из парсинга URL, переданного WordPress веб-сервером.

Переход к циклу по умолчанию от URL вызывает WordPress. Есть дополнитель­ный шаг, который состоит в том, что осуществляется парсинг URL для получения нужной строки запроса с использованием метода parse_query() объекта запроса.

При построении произвольного цикла вы подробно задаете параметры, контроли­рующие запрос. Вот более детальная информация о том, что происходит внутри функции запроса:

  • Вызов $myPosts->query() конвертирует параметры в SQL-операторы посред­ством функции $myPosts->get_posts(), которая затем выполняет запрос к базе данных MySQL и извлекает запрошенный контент.
  • Что не менее важно, вызов запроса устанавливает условные теги, такие как is_home() и is_single(), которые зависят от типа отображаемой страницы и количества контента для нее.
  • Массив записей, возвращаемый запросом, кэшируется WordPress, чтобы буду­щие обращения с тем же запросом не генерировали дополнительно трафик для базы данных.

Чтобы строить мощные произвольные циклы, необходимо правильно трансфор­мировать критерии выбора контента в набор параметров запроса.

Интересное видео по теме:

 

About ThemesWpAdmin

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *