Как на самом деле работает Вордпресс

17 июня 2017 164

Большинство пользователей не задумывается о процессах, происходящих под капотом Вордпресс. WPBeginner на днях представил отличную инфографику, в которой пошагово отражен весь процесс генерации страницы в Вордпресс.

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

ИНФОГРАФИКА: Как на самом деле работает Вордпресс

1. Загрузка wp-config.php

В первую очередь всегда загружается файл конфигурации Вордпресс — wp-config.php, в котором заданы все глобальные переменные и содержится информация о подключении к базе данных.

2. Установка дефолтных констант

Устанавливаются лимиты на размеры загружаемых файлов, определяется местоположение директории загрузки и т.д.

3. Загрузка advanced-cache.php

Используется популярными плагинами кэширования.

4. Загрузка wp-content/db.php

Используется некоторыми плагинами повышения производительности для уменьшения количества запросов к БД.

5. Подключение к БД

Подключение к серверу MySQL и выбор базы данных. Если подключиться не получится, вернется ошибка подключения.

6. Загрузка object-cache.php или wp-includes/cache.php

Если отсутствует файл object-cache.php, загрузится дефолтный wp-includes/cache.php.

7. Загрузка wp-content/sunrise.php

Поиск и загрузка файла sunrise.php в режиме мультисайта.

8. Загрузка локализационной библиотеки

Загрузка системы локализации l10n.php, которая загружает переводы, устанавливает локализации и т.д.

9. Загрузка мультисайтовых плагинов

Срабатывает только в режиме мультисайта.

10. Запуск «muplugins_loaded»

Вызывается после загрузки обязательных и сетевых плагинов.

11. Загрузка активных плагинов

Загрузка всех плагинов, указанных в active_plugins в таблице опций wp_options.

12. Загрузка pluggable.php

Файл pluggable.php содержит функции, которые можно переопределить плагинами Вордпресс.

13. Запуск «plugins_loaded»

Выполнение хуков после загрузки всех активных плагинов.

14. Загрузка Rewrite Rules

Инициализация ЧПУ.

15. Загрузка $wp_query, $wp_rewrite, $wp

Загрузка глобальных классов.

16. Запуск «setup_theme»

Выполнение действий перед загрузкой темы.

17. Загрузка functions.php дочерней темы

Определяются функции, заданные в теме. Загружается только если активна дочерняя тема, в противном случае загрузится functions.php активной темы.

18. Загрузка functions.php родительской темы

Если используется дочерняя тема, загрузится functions.php родительской темы.

19. Запуск «after_setup_theme»

Выполнение действий после загрузки темы.

20. Настройка текущего пользователя

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

21. Запуск «init»

Вся важная информация загружена, теперь выполняется весь сторонний код.

22. Запуск «widget_init»

Регистрация виджетов.

23. Выполнение wp()

Вызывается функция wp(), находящаяся в wp-includes/functions.php, которая задает глобальные запросы $wp, $wp_query, $wp_the_query and then calls $wp->main.

24. Парсинг запроса

Теперь Вордпресс получил всю информацию для анализа запроса пользователя, проверяются Rewrite Rules, запускаются фильтры переменных запроса, запрашиваются хуки и отправляется запрос заголовка.

25. Выполнение запроса

Если контент не соответствует запросу, устанавливается is_404, загрузка продолжится если все в порядке. Далее запускается WP_Query->get_posts(), вызывается DO_ACTION_REF_ARRAY ‘pre_get_posts’ с объектом WP_Query, запускается apply_filters для очистки запроса и выполнения окончательных проверок. После этого из базы данных извлекается запрашиваемая запись и к ней применяются фильтры posts_results и the_posts. После всех этих действий Вордпресс возвращает запись.

26. Запуск «template_redirect»

Этот хук выполняется перед выбором загрузки шаблона.

27. Загрузка шаблона фида

Загружается шаблон для RSS-ленты.

28. Загрузка шаблона

Поиск и загрузка шаблона запрашиваемой страницы.

29. Запуск «shutdown»

Последнее действие Вордпресс перед завершением выполнения PHP-кода.

Весь код исполнен, страница сгенерирована и отдана в виде HTML, CSS и JavaScript, из которых браузер сформирует привычную веб-страницу. Весь процесс обычно занимает долю секунды.

Разгоните свой WordPress

Выбираем быстрый и надежный хостинг для своих сайтов

Подробнее