Задумывались ли вы, как WordPress на самом деле работает изнутри? Для большинства пользователей это кажется простым, потому что вы набираете URL, и страница загружается за несколько секунд, но изнутри происходит много всего. В этом руководстве мы расскажем о том, как WordPress действительно работает за кулисами, а также создали легкую для понимания инфографику.
^
Почему вы должны узнать, как работает WordPress?
WordPress – это программное обеспечение с открытым исходным кодом, которое означает, что любой может изучить его код и написать свои собственные приложения (плагины) и шаблоны (темы) для него.
Изучение того, как работает WordPress и что происходит за кулисами, поможет вам понять, что вы можете с ним сделать. Вы можете узнать об улучшении производительности WordPress и написать лучший код для своих собственных проектов.
Это руководство проведет вас через весь процесс шаг за шагом. Мы начнем с того момента, когда пользователь запросит страницу, и закончим, когда эта страница будет полностью загружена.
Готов? Давайте начнем.
^
Вы также можете следовать нашему письменному руководству ниже для более подробной информации.
1. Загрузите файл wp-config.php
Wp-config.php – это файл конфигурации WordPress. Он устанавливает глобальные переменные для сайта WordPress и содержит информацию о вашей базе данных WordPress. Это первый файл, который WordPress загружает по понятным причинам. Узнайте больше о файле wp-config.php и о том, как его редактировать.
2. Установите константы по умолчанию
После загрузки файла wp-config.php WordPress перейдет к настройке констант по умолчанию. Сюда входит такая информация, как местоположение загрузки WordPress по умолчанию, максимальные размеры файлов и другие константы по умолчанию, установленные в файле wp-config.php.
3. Загрузите файл advanced-cache.php
Если на вашем сайте существует файл advanced-cache.php, WordPress загрузит его следующим. Этот файл действует как файл вставки и используется несколькими популярными плагинами, в частности плагинами кеширования WordPress. Если ваш сайт использует этот файл, то вы увидите новый элемент на экране плагинов, который называется Drop-ins.
^
4. Загрузите файл wp-content / db.php
WordPress позволяет разработчикам создавать свои собственные слои абстракции базы данных и загружать их в файл db.php, расположенный в папке wp-content. Он обычно используется плагинами кеширования WordPress для повышения производительности базы данных. Если на вашем сайте есть этот файл, WordPress загрузит его.
5. Подключите MySQL и выберите базу данных
WordPress теперь достаточно информации, чтобы продолжить. Он перейдет к подключению к серверу MySQL и выберет базу данных.
Если WordPress не может подключиться к базе данных, вы увидите ошибку «Ошибка при установлении соединения с базой данных», и WordPress закроется прямо здесь.
Если все работает нормально, то он перейдет к следующим шагам.
6. Загрузите файл object-cache.php или wp-includes / cache.php
WordPress теперь будет искать файл object-cache.php. Если он не существует, WordPress перейдет к загрузке файла wp-includes / cache.php.
7. Загрузите файл wp-content / sunrise.php
Если это многосайтовая сеть, то WordPress теперь будет искать файл sunrise.php, если он существует в папке wp-content.
8. Загрузить библиотеку локализации
WordPress теперь загрузит библиотеку l10n.php в папку wp-includes. Этот файл загружает систему локализации WordPress, загружает переводы, устанавливает локали и т. д. См. Наше руководство о том, как использовать WordPress на других языках.
9. Загрузка мультисайтовых плагинов
Если это многосайтовая сеть, то WordPress теперь будет загружать многосайтовые плагины. Узнайте больше о том, как плагины работают в многосайтовой сети WordPress.
^
10. Выполните действие «muplugins_loaded»
Действие muplugins_loaded теперь запускается WordPress. Это действие доступно только для подключаемых по сети модулей на многосайтовом WordPress.
11. Загрузить активные плагины
WordPress теперь будет загружать все активные плагины на сайте. Это достигается путем просмотра записи active_plugins в таблице параметров вашей базы данных WordPress. Это позволяет WordPress игнорировать плагины, которые установлены на вашем сайте, но не активированы.
12. Загрузите файл pluggable.php
Файл pluggable.php содержит функции, которые могут быть переопределены плагинами WordPress. WordPress теперь увидит, определены ли функции внутри этого файла другим плагином. В противном случае он сам определит эти функции.
13. Выполните действие «plugins_loaded»
WordPress теперь будет запускать действие «plugins_loaded». Это позволяет разработчикам подключать свои функции для запуска после загрузки всех активных плагинов.
14. Загрузить правила перезаписи
WordPress теперь будет загружать правила перезаписи. Эти правила переписывания помогают WordPress использовать оптимизированные для SEO URL-адреса.
15. Создание экземпляров $ wp_query, $ wp_rewrite, $ wp
В этот момент WordPress загружает следующие объекты:
$ wp_query: глобальный экземпляр, содержащий класс WP_Query. Он сообщает WordPress, какой контент запрашивается в типичном формате запросов WordPress.
$ wp_rewrite: глобальный экземпляр, содержащий ваш класс WP_Rewrite. Он содержит ваши правила и функции перезаписи, которые сообщают WordPress, какой URL использовать для отображения запрошенного контента.
$ wp: глобальный экземпляр класса WP, который содержит функции, которые будут анализировать ваш запрос и выполнять основной запрос.
16. Выполните действие «setup_theme»
WordPress теперь перейдет к выполнению действия «setup_theme». Это действие выполняется до загрузки темы WordPress.
17. Загрузите файл functions.php дочерней темы
Файл functions.php действует как плагин и используется в темах WordPress для добавления функций, специфичных для темы, на ваш сайт. Если вы используете дочернюю тему, WordPress теперь загрузит файл functions.php вашей дочерней темы.
В противном случае он продолжит работу и загрузит файл functions.php вашей текущей активной темы.
18. Загрузите файл functions.php родительской темы
Если вы используете дочернюю тему, WordPress теперь загрузит файл functions.php вашей родительской темы.
19. Выполните действие «after_setup_theme»
Это действие запускается после того, как WordPress настроил тему и загрузил функции темы. Это первое действие, доступное темам.
20. Настройка текущего объекта пользователя
В этот момент WordPress загружает текущий пользовательский объект. Это позволяет WordPress управлять запросом в соответствии с ролью и возможностями пользователя.
21. Действие ‘init’
WordPress загрузил всю необходимую информацию. Теперь он запускает действие «init».
Это действие позволяет разработчикам добавлять код, который необходимо выполнить после того, как WordPress загрузит всю ранее упомянутую информацию.
22. Выполните действие «widget_init»
Действие widget_init позволяет разработчикам регистрировать виджеты и запускать код, необходимый для запуска в это время.
23. Запустите wp ()
WordPress теперь вызывает функцию wp (), которая находится в файле wp-includes / functions.php. Он устанавливает глобальные запросы WordPress $ wp, $ wp_query, $ wp_the_query и затем вызывает $ wp-> main.
24. Запрос на анализ
Теперь WordPress имеет всю информацию, необходимую для анализа запроса пользователя. Он начинается с проверки правил перезаписи в соответствии с запросом пользователя.
А затем запускает фильтры переменных запроса, перехватывает действие запроса и отправляет запрос заголовка.
25. Запустите Query
Если контент не соответствует запросу, WordPress установит переменную is_404.
В противном случае WordPress продолжит загружать переменные запроса.
Затем он запустит WP_Query-> get_posts ().
Затем он запускает действие DO_ACTION_REF_ARRAY «pre_get_posts» с объектом WP_Query.
WordPress теперь будет запускать apply_filters, чтобы очистить запрос и выполнить некоторые последние проверки.
Теперь он извлекает сообщения из базы данных и применяет фильтры posts_results и the_posts.
Часть запроса заканчивается тем, что WordPress возвращает сообщения.
26. Выполните действие «template_redirect»
WordPress теперь будет запускать действие template_redirect. Этот хук запускается непосредственно перед тем, как WordPress определяет, какую страницу шаблона загрузить.
27. Загрузить шаблон подачи
Если запрошенный контент представляет собой RSS-канал, WordPress загружает шаблон канала.
28. Загрузить шаблон
WordPress теперь будет искать файл шаблона на основе иерархии шаблонов WordPress. Затем он загружает шаблон, который обычно содержит цикл WordPress.
29. Действие «выключить»
Перед завершением всего выполнения PHP WordPress запускает последнее действие, называемое выключением.
WordPress перестает работать здесь. Он запустил код и сгенерировал запрашиваемую пользователем веб-страницу.
Теперь ваш сервер веб-хостинга отвечает на запросы пользователей, отправляя им веб-страницу, созданную WordPress. Эта страница содержит код HTML, CSS и Javascript, который сообщает браузеру пользователя, как отображать его на экране.
Удивительно, не правда ли? Все это происходит за миллисекунды. Если вы используете один из этих лучших хостинговых сервисов WordPress, то в идеале ваша страница загрузится через пару секунд.
Мы надеемся, что эта статья помогла вам узнать, как WordPress работает изнутри. Вы также можете ознакомиться с нашим пошаговым руководством о том, как повысить скорость и производительность WordPress для начинающих.
Если вам понравилась эта статья, пожалуйста, подпишитесь на наш канал YouTube для видеоуроков WordPress. Вы также можете найти нас в Twitter и Facebook.