Пт, 5/04/19 – 9:26 | 2 комментария

Эта статья о том, что для успеха Landing Page важна не только визуальная привлекательность. От лендингов ждут высоких конверсий. Эффективность лендингового сайта особенно …

Читать статью »
Дизайн

Секреты веб-дизайна, примеры стильных сайтов

Тренды / ТОП

Топ лучших идей, новые тенденции и тренды WEB’а

Маркетинг

Статьи о маркетинге сайтов, примеры эффективности

Свой сайт

Как создать, оформить, сделать сайт лучше

Шаблоны сайтов

Обзоры шаблонов: лучшие темы для сайта

Главная » Wordpress, Полезный чек-лист, Технологии

Инфографика: WordPress изнутри — принцип работы движка

26 июля 2017 Нет комментариев

WordPress известен вебмастерам, блоггерам и владельцев веб-ресурсов, как интуитивно понятная платформа на PHP. Но, наверное, в общих чертах многим хотелось бы понимать принцип работы движка WP-сайта и разобраться как работает WordPress.

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

Инфографика: как работает WordPress

Источник: wpbeginner.com

1. Обращение к wp-config.php для загрузки конфигурации

Процесс загрузки начинается с запуска wp-config.php (конфигурационного файла с глобальными переменными и подключением к БД).

2. Загрузка дефолтных констант

Применяются предустановленные значения дефолтных констант: директория установки, максимальный размер файлов и т.д.

3. Загружается advanced-cache.php

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

4. Подгружается wp-content/db.php (если он существует)

Файл необходимый для оптимизации работы BD. Он может повысить производительность сайта за счет уменьшения числа запросов к базе данных.

5. Подключение к серверу баз данных MySQL

CMS произведет выбор БД на сервере MySQL, либо вы увидите ошибку: «Error establishing database connection».

6. Запуск object-cache.php, либо wp-includes/cache.php

WordPress будет искать файл object-cache.php и при отсутствии такового, запустит по умолчанию wp-includes/cache.php.

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

При наличии сети сайтов, запустится режим Multisite (после обнаружения вордпрессом sunrise.php в папке wp-contetnt).

8. Загрузка локализации

После обращения к библиотеке /l10n.php из wp-includes, вордпресс выполнит локализацию веб-сайта.

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

В случае мультисайтовой сети, WP запустит Multisite-плагины.

10. Событие «muplugins_loaded»

Срабатывает только для активных сетевых мультисайт-плагинов.

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

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

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

Активированные вордпресс плагины могут переопределять функции pluggable.php, но если это не так, то платформа обратится к файлу pluggable.php.

13. Срабатывает событие plugins_loaded

Разработчики могут вставлять «plugins_loaded» в код различных хуков и запускать собственные функции после загрузки всех активированных плагинов.

14. Применение правил Rewrite для ЧПУ

Выполняются Rewrite Rules – правила переопределения ссылок в SEO-дружественные и понятные человеку URL (ЧПУ).

15. Инициализируются объекты $wp_query, $wp_rewrite, $wp

На этом этапе WP задействует:

  • $wp_query: Глобальная переменная класса WP_Query сообщает, что контент запрошен в типичном для WP-движка формате
  • $wp_rewrite: Глобальная переменная класса WP_Rewrite. Содержит функции и правила Rewrite Rules, подсказывающие вордпрессу, какой URL соответствует запрашиваемому контенту
  • $wp: Глобальная переменная класса WP. Ее функции автоматически разбирают пользовательские запросы и загружают главную очередь (main query)

16. Запускается функция «setup_theme»

Загружая тему оформления, CMS выполняет предварительные действия.

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

Файл functions.php работает как плагин и его назначение – придавать WP-теме отличительные особенности. Файл запустится, только если активна дочерняя тема, в противном случае загрузится functions.php активной темы.

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

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

19. Выполненяется «after_setup_theme»

Выполнение функции последует сразу за загрузкой основного шаблона (темы) и ее файла functions.php.

20. Загрузка объекта текущего пользователя User Object

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

21. Выполненяется функция «init»

К этому моменту WordPress уже запустил критически важные для работы механизмы. Теперь стартует функция «init». Она дает разработчикам возможность использовать собственный код, который выполняется сразу после того, как движом выполнены все предшествующие шаги.

22. Выполненяется функция «widget_init»

Разработчикам widget_init позволяет регистрировать виджеты и выполнять нужный для их функционирования код.

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

Из файла wp-includes/functions.php вызывается функция wp(). Задаются переменные $wp, $wp_query, $wp_the_query и сразу следует вызов $wp->main.

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

Сейчас у вордпресса есть вся информация, необходимая для парсинга запроса. Первым делом проверяются соответствуют ли rewrite-правила запросам пользователей. Далее следует фильтрация переменных запроса, запрос экшен-хуков и запрос на загрузку шапки (хедера) веб-ресурса.

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

Когда вордпресс не находит соответствующий пользовательскому запросу контент, условный тег is_404 сгенерит страницу ошибки 404. Если контент найден, то продолжится запуск других запросов:

  • WP_Query->get_posts()
  • Функции DO_ACTION_REF_ARRAY ‘pre_get_posts’ для объекта WP_Query
  • apply_filters (фильтр для очистки запросов и пр. завершающих проверок)
  • К извлекаемым из БД постам применяются фильтры posts_results и the_posts

Теперь, когда все запросы выполнены, вордпресс выведет загруженные записи (посты).

26. Запуск функции template_redirect

Этот хук запустится до того, как будет выбрано, какой шаблон загружать

27. Загрузка Feed-шаблона

Для RSS feed запроса, вордпресс загрузит соответствующий шаблон RSS-ленты.

28. Загрузка основной темы (шаблона)

WP приступит к поиску файла темы. Обычно, процесс загрузки шаблона начинается с файла содержащего основной цикл вордпресса.

29. Запуск функции «shutdown»

Закончив исполнять PHP-код WordPress запустит «shutdown». Работа WP-движка выполнена.

В ответ на запрос пользователя, веб-серверу хостинга будет передан сгенерированный вордпрессом HTML код со стилями CSS / скриптами JS, далее последует рендеринг страницы браузером.

Работа WordPress заняла лишь миллисекунды!

Читайте также:  50+ примеров оригинального дизайна WordPress сайтов