Просмотров: 1 770

Что такое запросы WordPress?

Задумывались ли вы, что именно происходит, так сказать за кадром, когда пользователь переходит на какую-либо страницу вашего блога WordPress?

Как WordPress определяет, какие именно данные нужно отобразить?

Понимание этого очень важно, если вы хотите научиться понимать принцип, на котором функционируют шаблоны WordPress и с пониманием вносить изменения и дополнения в их работу.

Мое мнение, что начинать разбираться в этом нужно с такого понятия как запрос WordPress.

27-11-2014 13-18-26

Если вы почитаете о запросах на официальном сайте WordPress, то можно увидеть, что там все написано довольно «мудренно» и трудно для понимания.

Документация здесь:

http://codex.wordpress.org/Query_Overview

Я бы хотел попробовать объяснить все это, но в более упрощенном виде.

Как известно, все содержимое блога WordPress хранится в базе данных MySQL.

Для того, чтобы отобразить какие-нибудь данные, сначала нужно получить или запросить их из этой базы данных.

Запрос wordpress — это специальная конструкция кода, которая обращается к базе данных и получает из нее определенный набор данных, которые удовлетворяют некоторым условиям.

Чтобы понять, как это все работает, давайте подробно рассмотрим всю последовательность действий, которые выполняются ядром системы Worpdress.

1. Когда пользователь вводит в адресную строку браузера какой-нибудь URL-вашего сайта, запускаются несколько файлов ядра системы (wp-config.php, wp-settings.php, etc.)

2. Эти файлы подгружают все плагины, которые у вас активированы.

3. Далее подгружаются функции из файла functions.php активной темы.

4. Следующим этапом выполняется сам запрос к базе данных. WordPress выполняет функцию wp(), которая находится в файле wp-includes/functions.php.

5. С помощью этой функции запрашиваемый url-адрес из первого пункта этого списка, преобразуется в соответствующий запрос к базе данных MySQL.Этот запрос формируется функцией get_posts() и условия, какие данные будут выбираться, будут зависеть от типа той страницы, к которой вы обратились.

6. Данные, которые будут получены после 5 пункта, будут размещены в глобальном объекте $wp_query и в дальнейшем могут быть использованы внутри цикла WordPress для вывода в нужном месте.

Упрощенно последовательность выглядит примерно так. Для нас самое главное понимать, что после запроса формируется объект $wp_query, с которым мы и будем в дальнейшем работать.

Чтобы наглядно увидеть, что этот объект из себя представляет, предлагаю посмотреть его содержимое в следующей заметке.

Как именно формируется запрос и как работает функция get_posts() мы рассмотрим чуть позже.

Продолжение здесь >>