Czy kiedykolwiek zastanawiałeś się, jak WordPress działa za kulisami?
Dla typowego użytkownika wydaje się to proste, ponieważ wpisujesz adres URL, a strona wczytywana jest w ciągu kilku sekund, ale za kulisami dzieje się wiele.
W tym przewodniku przeprowadzimy Cię przez to, jak WordPress faktycznie działa za kulisami, a także stworzyliśmy łatwą do naśladowania infografikę.
Czym jest WordPress?
WordPress to narzędzie do tworzenia witryn internetowych i system zarządzania treścią. Jest to oprogramowanie typu open-source, które każdy może wykorzystać do stworzenia dowolnej witryny internetowej.
Zaczynał jako platforma do blogowania w 2003 roku, ale szybko przekształcił się w CMS, a później w pełnoprawną platformę do tworzenia witryn internetowych. Obecnie obsługuje ponad 43% wszystkich witryn internetowych.
Aby dowiedzieć się więcej o jego ewolucji, historii oraz zaletach i wadach, możesz zapoznać się z naszym obszernym przewodnikiem na temat tego, czym jest WordPress i ile kosztuje zbudowanie witryny WordPress.
Dlaczego warto dowiedzieć się, jak działa WordPress?
WordPress jest oprogramowaniem typu open-source, co oznacza, że każdy może studiować jego kod i pisać dla niego własne aplikacje (wtyczki) i szablony (motywy).
Dowiedzenie się, jak działa WordPress i co dzieje się za kulisami, może pomóc ci zrozumieć, co możesz z nim zrobić.
Zamierzasz nauczyć się poprawiać wydajność WordPressa i pisać lepszy kod dla twoich projektów.
Ten przewodnik przeprowadzi Cię przez cały proces krok po kroku. Rozpoczniemy, gdy użytkownik zażąda strony i zakończymy, gdy strona będzie w pełni wczytywana.
Gotowy? Zaczynajmy.
Możesz również skorzystać z naszego pisemnego poradnika poniżej, aby uzyskać więcej szczegółów.
1. Wczytywanie pliku wp-config.php
Plik wp-config.php jest plikiem konfiguracyjnym WordPress. Ustawia zmienne globalne dla witryny WordPress i zawiera informacje o Twojej bazie danych WordPress. Jest to pierwszy plik, który WordPress wczytuje z oczywistych powodów.
Dowiedz się więcej o pliku wp-config.php i sposobie jego edycji.
2. Konfigurowanie stałych domyślnych
Po wczytywaniu pliku wp-config.php, WordPress przejdzie do ustawiania domyślnych stałych.
Obejmuje to informacje takie jak domyślna lokalizacja przesyłania WordPress, maksymalne rozmiary plików i inne domyślne stałe ustawione w pliku wp-config.php.
3. Wczytywanie pliku advanced-cache.php
Jeśli na twojej witrynie istnieje plik advanced-cache.php, to WordPress będzie wczytywał go jako następny.
Plik ten działa jako plik drop-in i jest używany przez kilka popularnych wtyczek, w szczególności przez wtyczki WordPress do pamięci podręcznej. Jeśli twoja witryna korzysta z tego pliku, na ekranie wtyczek zobaczysz nowy element o nazwie Drop-ins.
4. Wczytywanie pliku wp-content/db.php
WordPress pozwala programistom tworzyć własne warstwy abstrakcji bazy danych i wczytywać je w pliku db.php umieszczonym w katalogu wp-content. Wtyczki do pamięci podręcznej WordPressa często używają go do poprawy wydajności bazy danych.
Jeśli twoja witryna internetowa zawiera ten plik, WordPress będzie go wczytywał.
5. Połącz MySQL i wybierz bazę danych
WordPress ma teraz wystarczająco dużo informacji, aby kontynuować. Połączy się z serwerem MySQL i wybierze bazę danych.
Jeśli WordPress nie może połączyć się z bazą danych, zobaczysz błąd „Błąd nawiązywania połączenia z bazą danych”, a WordPress zakończy działanie w tym miejscu.
Jeśli wszystko działa poprawnie, nastąpi przejście do kolejnych kroków.
6. Wczytywanie pliku object-cache.php lub wp-includes/cache.php
WordPress będzie teraz szukał pliku object-cache.php. Jeśli nie istnieje, WordPress przejdzie do wczytywania pliku wp-includes/cache.php.
7. Wczytywanie pliku wp-content/sunrise.php
Jeśli jest to sieć witryn, WordPress będzie szukał pliku sunrise.php, jeśli istnieje on w katalogu wp-content.
8. Wczytywanie biblioteki ustawień regionalnych
WordPress będzie teraz wczytywał bibliotekę l10n.php znajdującą się w katalogu wp-includes. Plik ten wczytuje system lokalizacji WordPressa, wczytuje tłumaczenia, ustawia ustawienia regionalne itp.
Możesz zapoznać się z naszym przewodnikiem na temat korzystania z WordPressa w innych językach.
9. Wczytywanie wtyczek Multisite
Jeśli jest to sieć witryn multisite, wówczas WordPress będzie wczytywał wtyczki multisite. Dowiedz się więcej o tym, jak wtyczki działają w sieci WordPress multisite.
10. Do Działanie 'muplugins_loaded’
Działanie muplugins_loaded jest teraz uruchamiane przez WordPress. To działanie jest dostępne tylko dla wtyczek włączanych przez sieć w witrynie WordPress.
11. Włączanie aktywnych wtyczek
WordPress będzie teraz wczytywał wszystkie włączone wtyczki na witrynie. Robi to, szukając wpisu active_plugins w tabeli opcji twojej bazy danych WordPress. Pozwala to WordPressowi ignorować wtyczki, które są zainstalowane na twojej witrynie, ale nie są włączane.
12. Wczytywanie pliku pluggable.php
Plik pluggable.php zawiera funkcje, które mogą być przedefiniowane przez wtyczki WordPress.
WordPress sprawdzi teraz, czy inna wtyczka już definiuje funkcje wewnątrz tego pliku. W przeciwnym razie sam zdefiniuje te funkcje.
13. Wykonaj działanie „plugins_loaded
WordPress uruchomi teraz działanie „plugins_loaded”.
Pozwala to programistom na podpięcie swoich funkcji do uruchamiania po wczytywaniu wszystkich aktywnych wtyczek.
14. Reguły przepisywania wczytywania
WordPress będzie teraz wczytywał reguły przepisywania. Te reguły przepisywania pomagają WordPressowi używać adresów URL przyjaznych dla SEO.
15. Instancja $wp_query, $wp_rewrite, $wp
W tym momencie WordPress wczytuje następujące obiekty:
$wp_query: Globalna instancja przechowująca klasę WP_Query. Mówi ona WordPressowi, jaka treść jest żądana w typowym formacie zapytania WordPressa.
$wp_rewrite: Globalna instancja przechowująca twoją klasę WP_Rewrite. Zawiera ona twoje reguły i funkcje przepisywania, które mówią WordPressowi, którego adresu URL użyć do wyświetlenia żądanej treści.
$wp: Globalna instancja klasy WP zawiera funkcje, które będą parsować twoje żądanie i wykonywać główne zapytanie.
16. Wykonaj działanie „setup_theme
WordPress przejdzie teraz do uruchomienia działania „setup_theme”. To działanie jest uruchamiane przed wczytywaniem twojego motywu WordPress.
17. Wczytywanie pliku functions.php motywu potomnego.
Plik functions.php działa jak wtyczka i jest używany w motywach WordPress do dodawania funkcji specyficznych dla twojego motywu do witryny internetowej. Jeśli używasz motywu potomnego, WordPress będzie teraz wczytywał plik functions . php twojego motywu potomnego.
W przeciwnym razie przejdzie dalej i będzie wczytywać plik functions.php twojego obecnego, aktualnego motywu.
18. Wczytywanie pliku functions.php motywu nadrzędnego.
Jeśli korzystasz z motywu potomnego, WordPress będzie teraz wczytywał plik functions.php twojego motywu nadrzędnego.
19. Do Działanie 'after_setup_theme’
To działanie jest uruchamiane po skonfigurowaniu motywu przez WordPress i wczytywaniu jego funkcji. Jest to pierwsze działanie dostępne dla motywów.
20. Konfiguracja bieżącego obiektu użytkownika
W tym momencie WordPress wczytuje obecny, aktualny obiekt użytkownika. Pozwala to WordPressowi zarządzać żądaniem zgodnie z rolą i możliwościami użytkownika.
21. Wykonaj działanie „init
WordPress do tej pory wczytywał wszystkie kluczowe informacje, których potrzebuje. Teraz uruchamia działanie „init”. To działanie rejestruje również bloki dostępne w rdzeniu lub dostarczane przez dowolne wtyczki zainstalowane na tej witrynie internetowej.
Działanie to włącza programistom możliwość dodania kodu, który musi zostać wykonany po tym, jak WordPress wczyta wszystkie wcześniej wymienione informacje.
22. Do Działanie „widget_init
Działanie widget_init
pozwala programistom rejestrować widżety i uruchamiać kod, którego potrzebują w tym czasie.
23. Uruchom wp()
WordPress wywołuje teraz funkcję wp(
), która znajduje się w pliku wp-includes/functions.php
. Ustawia ona globalne zapytania WordPress $wp, $wp_query, $wp_the_query, a następnie wywołuje $wp->main.
24. Żądanie analizy
Teraz WordPress ma wszystkie informacje potrzebne do przeanalizowania żądania użytkownika. Zaczyna od sprawdzenia reguł przepisywania, aby dopasować je do żądania użytkownika.
A następnie uruchamia filtry zmiennych zapytania, żąda haka działania i wysyła żądanie nagłówka.
25. Uruchom zapytanie
Jeśli żadna treść nie pasuje do zapytania, WordPress ustawi zmienną is_404.
W przeciwnym razie WordPress przejdzie do wczytywania zmiennych zapytania.
Następnie uruchomi WP_Query->get_posts().
Następnie uruchamia działanie DO_ACTION_REF_ARRAY „pre_get_posts” z obiektem WP_Query.
WordPress uruchomi teraz apply_filters, aby wyczyścić zapytanie i przeprowadzić kilka końcowych kontroli.
Teraz pobiera wpisy z bazy danych i stosuje filtry posts_results i the_posts.
Część zapytania kończy się zwróceniem wpisów przez WordPress.
26. Do Działanie 'template_redirect’
WordPress uruchomi teraz działanie template_redirect
. Ten hak działa tuż przed tym, jak WordPress określa, którą stronę szablonu wczytywać.
27. Wczytywanie szablonu paszy
Jeśli żądana treść jest kanałem RSS, WordPress wczytuje szablon kanału.
28. Wczytywanie szablonu
WordPress będzie teraz szukał pliku szablonu w oparciu o hierarchię szablonów WordPress. Następnie wczytuje szablon, który zazwyczaj zawiera pętlę WordPress.
29. Wykonaj działanie „zamknij
Tuż przed zakończeniem wykonywania całego PHP, WordPress uruchamia ostatnie działanie o nazwie shutdown.
WordPress przestaje działać w tym miejscu. Uruchomił kod i wygenerował stronę żądaną przez użytkownika.
Teraz twój serwer WWW odpowiada na żądanie użytkownika, wysyłając mu stronę wygenerowaną przez WordPress.
Strona ta zawiera kod HTML, CSS i Javascript, który mówi przeglądarce użytkownika, jak wyświetlić ją na ekranie.
Niesamowite, prawda? Wszystkie te rzeczy dzieją się w ciągu milisekund. Jeśli korzystasz z jednej z tych najlepszych usług hostingowych WordPress, twoja strona będzie idealnie wczytywać się w ciągu kilku sekund.
Mamy nadzieję, że ten artykuł pomógł ci dowiedzieć się, jak WordPress działa za kulisami. Możesz również zapoznać się z naszym przewodnikiem krok po kroku, jak zwiększyć szybkość i wydajność WordPress a, a także z naszymi eksperckimi wyborami najlepszych wtyczek WordPress do rozwoju twojej witryny internetowej.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Syed Balkhi says
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
Jiří Vaněk says
This is the first time I see such a comprehensive summary of everything that happens in the background before a page is generated. I must admit, I haven’t found such detailed information anywhere else. When I consider how many processes have to occur before a page loads and that WordPress and the server manage it all within a second, it’s fantastic what today’s servers and systems can do.
MJB says
hm – I am kind of missing step 0
so is this a correct assumption`?
a URL comes in at my hosted webserver
requesting let’S say my home page
then the webserver fires up step (1) ?
which then runs until step (24)
where WP parses the incoming URL to figure out next steps?
WPBeginner Support says
Step 0 can certainly be a URL linking to the site, around step 15 is where the specific page would be considered.
Administrator
Mike Ross says
What about index.php in the root?
I don’t get it…There are guides out there that lay out a totally different sequence of WordPress initialization.
WPBeginner Support says
Index.php would be for the theme files, we cover the theme hierarchy in our guide below:
https://www.wpbeginner.com/wp-themes/wordpress-template-hierarchy-explained/
Administrator
Mike Ross says
No, I’m not talking about the theme’s homepage template. I’m taking about the index.php at the root, which is a part of the WordPress core. It triggers wp-blog-header.php, which then loads wp-load.php which sets up the entire WordPress environment.
WPBeginner Support says
The index.php in the root folder tells WordPress to load your theme
Administrator
Terry Woods says
That is correct
Jason says
Why start from wp-config.php ? I thought it was from index.php
WPBeginner Support says
That would be for themes and not WordPress itself, for the index.php you would want to take a look at the template hierarchy in our guide below:
https://www.wpbeginner.com/wp-themes/wordpress-template-hierarchy-explained/
Administrator
Petru Ciucur says
This is THE Article. Thanks !
WPBeginner Support says
Glad our guide was helpful
Administrator
Juan Johnson says
HI wpbeginner.
I noticed that in your sequence, you mentioned that wp does this and then that. Physical, where is the instance of wp()? On the server? Does this happens in between an initial load page post request when I use google browser and the final loading of the wp dashboard after login?
WPBeginner Support says
You may want to take another look at the infographic for understanding the loading and how it works.
Administrator
Juan Johnson says
I am a programmer. I am getting more into the web page design, however, I cannot let go of wanting to know what is going on behind the scenes. You article has given me a foundation to start confidently constructing web pages.
WPBeginner Support says
Glad our guide was helpful
Administrator
Paul McDevitt says
This is brilliant. Ran into several issues with old, expired plugins, updating PHP, etc, and a virus (probably because of the prior items.) So all locked down and scrubbed up now, but wanted to understand better the sequence of events as looking into any one PHP file is like trying to read a bowl of spaghetti, as I did not understand the sequencing of the activities. So absolutely amazing. Love this.
Thanks
WPBeginner Support says
Glad our article was helpful
Administrator
Naresh says
very clear article.
WPBeginner Support says
Thank you
Administrator
Chinenye says
I want to really know what wordpress does, how can I make and share posts through word press? What does it do for me apart from creating a site?
WPBeginner Support says
WordPress allows you to create a site without needing to have knowledge of HTML and CSS. For sharing your posts, you would normally want to take a look at social media plugins: https://www.wpbeginner.com/plugins/best-social-media-plugins-for-wordpress/
Administrator
ganesh says
very interesting
Adrian says
Interesting but not really a definition of how WordPress works. This describes what it does, not how it does it. Would be useful to also know how it does things as well as what it does. For example how does it know which theme to load? Without the how all the above is very high level.
amir saleem says
17. Load Child Theme’s functions.php File
The functions.php file acts as plugin and is used in WordPress themes to add theme specific features to your website. If you are using a child theme, then WordPress will now load your child theme’s functions.php file.
Otherwise, it will go on and load your current active theme’s functions.php file.
18. Load Parent Theme’s functions.php File
[ If you are using a child theme ], then WordPress will now load your parent theme’s functions.php file.
check the text in brackets and match all the wording here will be replace [ if you are using a parent theme ].
Thanks.
Caleb says
Amir, I think what the OP is trying to say is that if there is a child theme, then obviously there would be a parent and child functions.php and wordpress first loads the child themes functions.php before loading the parent’s. Otherwise, it just loads the parent’s functions.php straightaway.
Altab Hossen says
Thanks for this nice explanation and info-graphics is so cool !!
Kristian says
And people wonder why WordPress sites are slow. It does all that at run-time for every single page view!
Johnpaul Onwueme says
Thanks for the info graphics
deborah says
still seems complicated to me, but all tech does
Jason says
Would you be willing to offer this as a printed poster? I don’t know if it would generate much interest or make you any money, but since it is such a nice graphic it might make a nice office wall hanging.
anis says
Thank you for this article . I wanted to know since long time
the different steps for loading .
What is a database abstraction layer and how to configure it ?