Більше результатів...

Загальні селектори
Тільки точні збіги
Шукати у заголовках
Шукати у контенті
Вибір типів постів
Фільтрувати за категоріями
FAQ
Hostenko
Натхнення
Відео уроки
Новини
Плагіни
Теми
Уроки
Хакі

wordpress — найпопулярніша безкоштовна платформа для створення сайтів в інтернеті. І свою популярність WordPress заслужив переважно завдяки тому, наскільки легко і просто з ним працювати.

Для того, щоб створити свій сайт на WordPress, не потрібно знатися на коді і знати, як все потроєно. Але якщо ви розробник-початківець або просто досвідчений користувач, і вам цікаво дізнатися, як працює WordPress, тоді ця стаття для вас.

inet.ws - Powerful VPS Hosting в США, Canada, UK та DE!

WordPress під капотом: Порядок завантаження функцій та файлів WordPress сайту

Дивіться також:

У цьому пості ми розберемося крок за кроком, що відбувається всередині WordPress, коли ви завантажуєте сайт у браузері, і поетапно розпишемо порядок завантаження функцій та файлів WordPress. Поїхали!

Для чого потрібно знати, як працює WordPress?

wordpress - це open-source проект, а значить будь-хто може вивчати його вихідний код і вчитися створювати свої плагіни та шаблони.

Якщо ви знатимете основи того, як працює WordPress під капотом, це допоможе вам поглибити свої знання в розробці. Також це просто пізнавально з погляду того, як, начебто, елементарні речі насправді.

Порядок завантаження WordPress

Отже, ви вбили в адресний рядок браузера URL WordPress-сайту та натиснули Enter. Відбувся резолвінг доменного імені, і ваш браузер звернувся за конкретною IP-адресою до хостинг-сервера із запитом на завантаження сайту.

Що відбувається далі в наступні частки секунди, поки веб-сайт не відобразиться у вікні браузера?

1. Завантаження файлу wp-config.php

Насамперед йде звернення до головного конфігураційного файлу WP-config.php у кореневому каталозі WordPress.

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

11 порад щодо налаштування файлу wp-config.php

2. Завантаження стандартних констант

Після завантаження wp-config.php WordPress отримує значення стандартних констант. Вони включають таку інформацію як розташування upload-каталогу (wp-content/), максимальний розмір файлу та всі інші константи, прописані в wp-config.php.

3. Завантаження файлу advanced-cache.php

Якщо файл advanced-cache.php є на сайті, WordPress завантажує його на даному етапі. Цей файл є так званим "Вкрапленням" у термінології плагінів WordPress.

WordPress під капотом: Порядок завантаження функцій та файлів WordPress сайту

Він створюється автоматично, якщо на сайті налаштований один із кеш-плагінів. Цей файл містить конфігураційну інформацію для кешування сайту.

4. Завантаження файлу wp-content/db.php

WordPress дозволяє розробникам створювати свої абстрактні шари БД та завантажувати їх через файл db.php. Як правило, цей файл може використовуватись деякими кеш-плагінами для оптимізації роботи БД.

Тому якщо такий файл існує, він завантажується на цьому етапі.

5. Підключення до MySQL та Бази Даних

Тепер WordPress має достатньо інформації для з'єднання з MySQL сервером і підключення до вказаної в wp-config.php або db.php Базі Даних.

Якщо з якоїсь причини WordPress не вдається підключитися до БД, на екрані ви побачите повідомлення "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

Якщо сайт є частиною Мультисайт-мережі WordPress, буде завантажено файл wp-content/sunrise.php.

8. Завантаження бібліотеки локалізації

Тепер завантажується файл wp-includes/l10n.php для увімкнення системи локалізації. На цьому етапі буде враховано вибрану мову, регіональні параметри та файли для перекладу.

9. Завантаження Multisite-плагінів

Знову ж таки, якщо сайт знаходиться в мережі Wordpress Multisite, тепер будуть завантажені Multisite-плагіни.

WordPress під капотом: Порядок завантаження функцій та файлів WordPress сайту

10. Виконання функції "muplugins_loaded"

Виконується функція (або термінології WordPress - Action) muplugins_loaded для мережевих плагінів Wordpress Multisite.

11. Завантаження всіх активованих плагінів

WordPress тепер завантажить решту активованих плагінів на сайті.

Список активованих плагінів зберігається в базі даних у таблиці wp_options в полі active_plugins.

Таким чином, на етапі завантаження ігноруються всі встановлені, але неактивні плагіни.

12. Завантаження файлу pluggable.php

Файл pluggable.php зберігає функції, які можуть бути перевизначені WordPress-плагінами.

WordPress перевірить, чи визначено функції файлу pluggable.php якимись іншими активними плагінами. Якщо ні, будуть визначені функції pluggable.php.

13. Виконання функції "plugins_loaded"

Аналогічно muplugins_loaded для плагінів wordpress Multisite, тепер буде виконано функцію plugins_loaded. Ця функція дозволяє розробникам прив'язати власні функції і виконати їх після завантаження всіх активних плагінів WordPress.

14. Завантаження Rewrite Rules

Буде завантажено правила перевизначення посилань.

Іншими словами, буде завантажено SEO-зрозумілі постійні посилання замість посилань виду /?p=10467

15. Ініціалізація $wp_query, $wp_rewrite, $wp

Тепер WordPress завантажить такі об'єкти:

  • $ WP_Query: Глобальна змінна, яка містить клас WP_Query. Вона повідомляє WordPress, що контент запитується у типовому для WordPress query-форматі.
  • $wp_rewrite: Глобальна змінна, яка містить клас WP_Rewrite. Містить Rewrite-правила та функції для перевизначення URL під час завантаження контенту.
  • $wp: Глобальна змінна, яка містить клас WP. Містить функції, які будуть псувати ваш запит і завантажувати головну чергу (main query).

16. Виконання функції "setup_theme"

WordPress виконує функцію setup_theme, необхідний на етапі перед завантаженням теми оформлення.

17. Завантаження файлу functions.php дочірньої теми

Файл functions.php містить набір функцій та інструкцій, застосовних кожної теми оформлення індивідуально.

Якщо ви використовуєте дочірню тему, то на цьому етапі буде завантажено functions.php саме дочірньої теми.

В іншому випадку буде завантажено functions.php від основної активної теми оформлення.

18. Завантаження файлу functions.php батьківської теми

Якщо використовується дочірня тема, після завантаження functions.php з дочірньої теми буде завантажено functions.php основної батьківської теми.

19. Виконання функції "after_setup_theme"

Функція after_setup_theme виконується після того, як WordPress визначився з тим, яка тема оформлення активна на даний момент і завантажив її файл functions.php.

Це перша дія, що застосовується до активної теми.

20. Налаштування поточного User Object

Тепер WordPress завантажує об'єкт поточного користувача. Це дозволяє WordPress зрозуміти, які запити можуть бути виконані надалі відповідно до поточної ролі користувача та його привілеїв.

21. Виконання функції "init"

На даному етапі WordPress завантажив всю необхідну інформацію для роботи. Тепер виконується функція ініціалізації.

Ця функція дозволяє розробникам додавати свій код, який має бути виконаний одразу після того, як WordPress завантажив та виконав усі попередні пункти.

22. Виконання функції "widget_init"

Функція widget_init дозволяє розробникам реєструвати віджети та виконувати код, необхідний для роботи віджетів.

23. Виконання функції "wp()"

Тепер WordPress викликає функцію wp() з файлу wp-includes/functions.php.

Ця функція задає глобальні змінні $wp, $ WP_Query, $wp_the_query і далі викликає $wp->main.

24. Парсинг запитів

У WordPress тепер є вся потрібна інформація для обробки запитів користувача. Для початку йде перевірка на rewrite-правила перевизначення.

Потім завантажуються всі фільтри, action-хуки та надсилається запит на завантаження заголовок-Частини сайту.

25. Виконання запитів

Якщо за заданим запитом контент не виявлено, WordPress визначає змінну є_404.

Інакше WordPress продовжує завантаження інших запитів.

  • Буде виконано WP_Query-> get_posts ()
  • Далі запускається функція DO_ACTION_REF_ARRAY "pre_get_posts' для об'єкта WP_Query.
  • Тепер виконується apply_filters для зачистки запитів та деяких фінальних перевірок.
  • Тепер завантажуються самі записи (пости) із БД, застосовуються фільтри posts_results и пости.

Етап виконання запитів закінчено, і WordPress видає завантажені записи.

26. Виконання функції template_redirect

Виконується функція шаблон_перенаправлення перед тим, як WordPress визначає, який шаблон завантажувати.

27. Завантаження Feed-шаблону для RSS

Якщо контент, що запитується, відноситься до RSS-feed, WordPress завантажує відповідний Feed-шаблон.

28. Завантаження основного шаблону (теми)

Нарешті!

WordPress починає завантажувати файли поточної активної теми відповідно до її ієрархії.

Як правило, все починається з файлу, який містить головний цикл (WordPress Loop).

29. Виконання функції "shutdown"

Насамкінець перед завершенням виконання всього PHP-коду WordPress запускає останню функцію вимикання.

На цьому етапі робота WordPress виконана та закінчена.

30. Завантаження сторінки сайту у браузері

Весь підготовлений PHP-код з боку WordPress передається на виконання веб-серверу хостингу.

Веб-сервер обробляє PHP-код і передає в браузер користувачеві готовий HTML-код разом зі стилями та скриптами (CSS та JavaScript) для завантаження самої сторінки.

Браузер здійснює рендеринг цієї сторінки за допомогою отриманого від веб-сервера HTML, CSS і JavaScript, і в результаті ви бачите (візуально) запитану сторінку сайту.

Підсумки

Отже, ми детально розписали 30 кроків, які необхідні WordPress для завантаження сайту. Ну окей, останній 30-й пункт виконується вже без участі WordPress, але все ж таки.

А тепер подумайте!

Всі ці 30 пунктів від моменту натискання Enter в адресному рядку браузера до завантаження сторінки відбуваються буквально за лічені мілісекунди! Фантастика, правда?

Джерело: wpbeginner.com
inet.ws - Powerful VPS Hosting в США, Canada, UK та DE!
Олексій Шевченко
редактор wpcafe
Вивчає сайтобудування з 2008 року. Практикуючий вебмайстер, що спеціалізується на створенні сайтів WordPress. Задати питання Олексію можна на https://profiles.wordpress.org/wpthemeus/

Коментарі до запису: 1

Віталій:

Вітання! А чи є можливість на фінальному етапі перед закінченням роботи php коли спрацьовує хук shutdown — отримати доступ до всього вмісту HTML сторінки для фінальної правки. Наприклад, мені потрібно за певних умов підправити посилання тощо?

Додати коментар або відгук