Strona Webinsider.pl – jak miliony innych – działa na WordPressie. Niby nic nadzwyczajnego – wpisujecie adres i po chwili strona już wyświetla się w przeglądarce. Ale czy zastanawialiście się jak cała ma machina działa, co dzieje się „pod maską” za każdym razem gdy generowana jest strona do wyświetlenia w przeglądarce?
Spis treści w artykule
Jak działa WordPress
O ile czytelnicy stron opartych na WordPressie mogą potraktować to jako ciekawostkę, to już dla osób pracujących z tym CMSem od drugiej strony – a zwłaszcza (współ)tworzących wtyczki i motywy – może to być wiedza obowiązkowa.
Oczywiście opracowań na ten temat jest sporo, ale ja bym chciał dziś zaprezentować Wam infografikę na ten temat, jaka ukazała się w serwisie WPBeginner:
Powyżej tylko mały fragment, pierwsze 5 z prawie 30 kroków:
- Wczytywanie pliku wp-config.php i załadowanie konfiguracji WordPressa
- Wdrożenie stałych (wymaganych) parametrów z pliku konfiguracyjnego (wp-config.php)
- Załadowanie – jeśli istnieje – pliku wp-content/advanced-cache.php, który jest wykorzystywany przez niektóre mechanizmy keszujące
- Załadowanie – jeśli istnieje – pliku wp-content/db.php, który może posłużyć do modyfikacji wywołań/obsługi bazy danych
- Połączenie z bazą danych (MySQL)
- Załadowanie pliku object-cache.php lub – jeśli go nie ma – pliku wp-includes/cache.php
- Załadowanie – w przypadku instalacji MultiSite – pliku wp-content/sunrise.php
- Załadowanie pliku wp-includes\l10n.php, który odpowiada za obsługę lokalizacji dla poszczególnych składników/elementów (różnych wersji językowych)
- Załadowanie – w przypadku instalacji MultiSite – wtyczek domyślnych (wspólnych)
- Wykonanie akcji muplugins_loaded, czyli aktywacja wtyczek sieciowych (lub wymuszonych)
- Wykonanie akcji active_plugins, co pozwala aktywować wszystkie aktywne wtyczki (standardowych)
- Załadowanie pliku pluggable.php, czyli podział ról między WordPressa a poszczególne wtyczki
- Wykonanie akcji plugins_loaded, co rozpoczyna na dobre działanie poszczególnych wtyczek
- Aktywacja funkcji związanych z przyjaznymi adresami URL
- Załadowanie obiektów związanych z klasami $wp_query, $wp_rewrite, $wp
- Wykonanie operacji poprzedzających wczytanie używanego motywu (setup_theme)
- Wczytanie zawartości pliku functions.php motywu potomnego (jeśli taki jest używany)
- Wczytanie zawartości pliku functions.php motywu bazowego
- Wykonanie akcji after_setup_theme, czyli rozpoczęcie przetwarzania funkcji motywu
- Przetworzenie uprawnień użytkownika/użytkowników
- Wykonanie akcji init, co pozwala wykonać kod zewnętrzny (np. wtyczki) związany z tym stanem
- Wykonanie akcji widget_init, co inicjuje widgety i pozwala wykonać wymagany na tym etapie kod
- Wywołanie funkcji wp(), która znajduje się w pliku wp-includes/functions.php, a która aktywuje globalne kwerendy $wp, $wp_query, $wp_the_query
- WordPress posiada już wszystkie niezbędne elementy\informacje, i może w tym momencie przystąpić do przetwarzania filtrów, akcji, itp.
- Uruchomienie odpowiedniej kwerendy w celu przygotowanie konkretnych (żądanych) treści do wyświetlenia
- Wykonanie akcji template_redirect
- Załadowanie szablonu kanału RSS
- Załadowanie szablonu strony/treści
- Wykonanie akcji shutdown, co oznacza, że WordPress wykonał swoją pracę, a tym samym żądana strona jest gotowa do wyświetlenia na urządzeniu użytkownika (jak tylko przetworzy ją webserwer)
I choć jest tego trochę, to zazwyczaj te wszystkie operacje dzieją się w niezwykle szybkim tempie, tak byście nie musieli za długo czekać na wyświetlenie strony w przeglądarce… ;-)
- Wakacje składkowe ZUS a zawieszenie działalności gospodarczej, czyli uważaj, bo być może nie będziesz mógł skorzystać (w 2024) - 1970-01-01
- Przykładowy kalkulator wyceny usługi druku 3D, czyli nie tylko materiał się liczy - 1970-01-01
- Home Assistant 2024.10, czyli nowa karta „nagłówek” i niedziałający TTS w ramach usługi Google Cloud - 1970-01-01
Ciekawa infografika. Jestem pomiędzy zwykłym użytkownikiem i deweloperom, a więc przyda się :)
No to już wiesz, do czego musisz grafików u Was zagonić :-)