Att förstå hur WordPress fungerar bakom kulisserna kan vara fascinerande. För de flesta användare verkar det enkelt: skriv in en URL och en sida hämtar snabbt. Men det är faktiskt mycket som händer i bakgrunden.
När vi började arbeta med WordPress för flera år sedan gjorde vi en djupdykning i hur allt fungerar. Och nu är vi här för att dela med oss av denna kunskap till dig i enkla termer så att du kan förstå mer om WordPress.
I den här przewodniken går vi igenom hur WordPress fungerar. Vi har också skapat en infografik som är lätt att följa för att göra saker och ting tydligare.
Vad är WordPress?
WordPress är ett system för att bygga webbplatser och hantera innehåll. Det är en programvara med öppen källkod som vem som helst kan använda för att skapa alla typer av webbplatser.
Det började som en plattform för bloggar 2003 men omvandlades snart till ett CMS och senare till en fullfjädrad plattform för att bygga webbplatser. Idag driver den mer än 43% av alla webbplatser på internet.
För att lära dig mer om dess utveckling, historia och för- och nackdelar, se vår omfattande pr zewodnik om vad WordPress är och hur mycket det kostar att bygga en WordPress webbplats.
Varför ska du lära dig hur WordPress fungerar?
WordPress är en programvara med öppen källkod, vilket innebär att vem som helst kan studera dess kod och skriva sina egna appar (tillägg) och mallar (teman) för den.
Under årens lopp har vi sett otaliga nybörjare bli avancerade användare genom att helt enkelt lära sig hur WordPress fungerar som programvara.
Du får också lära dig hur du kan förbättra WordPress prestanda och skriva bättre kod för dina projekt.
I den här guiden går vi igenom hela processen steg för steg. Vi börjar när en användare requestar en page och slutar när den sidan är färdig hämtar.
Är du redo? Låt oss sätta igång.
Du kan också följa vår skriftliga tutorial under för mer detaljer.
1. Hämtar wp-config.php-filen
wp-config.php är konfigurationsfilen för WordPress. Den ställer in globala variabler för en WordPress webbplats och innehåller din WordPress databasinformation. Av uppenbara skäl är detta den första filen som WordPress hämtar.
Läs mer om filen wp-config.php och hur du redigerar den.
2. Konfigurera standardkonstanter
Efter att ha hämtat filen wp-config.php kommer WordPress att fortsätta med att ställa in standardkonstanter.
Detta inkluderar information som gillar standard WordPress upload location, maximala filstorlekar och andra standardkonstanter som ställs in i wp-config.php-filen.
3. Hämtar filen advanced-cache.php
Om filen advanced-cache.php finns befintlig på din site, kommer WordPress att hämta den härnäst.
Den här filen fungerar som ett insticksprogram och används av flera populära tillägg, i viss mån cachelagringstillägg för WordPress. Om din webbplats använder den här filen kommer du att se ett nytt objekt på vyn Plugins som heter ”Insticksprogram”.
4. Hämtar wp-content/db.php-filen
WordPress allow utvecklare att skapa sina egna abstraktionslager för databaser och hämtar dem i en db.php-fil som placeras i wp-content foldern. Tillägg för caching i WordPress använder det ofta för att förbättra databasens prestanda.
Om denna fil finns på din website kommer WordPress att hämta den.
5. Anslut MySQL och välj Database
WordPress har nu tillräckligt med information för att gå vidare. Den kommer att anslutas till MySQL-servern och välja databasen.
Om WordPress inte kan ansluta till databasen kommer du att se error ”Error establishing database connection” och WordPress kommer att avslutas här.
Om allt fungerar bra går den vidare till nästa steg.
6. Hämtar filen object-cache.php eller wp-includes/cache.php
WordPress kommer nu att leta efter filen object-cache.php. Om den inte finns, kommer WordPress att gå vidare och hämta filen wp-includes/cache.php.
7. Hämtar filen wp-content/sunrise.php
Om det är ett multisite network kommer WordPress att leta efter filen sunrise.php om den finns befintlig i wp-content folder.
8. Hämtar bibliotek för språkversion
WordPress kommer nu att ladda biblioteket l10n.php i wp-includes folder. Denna fil hämtar WordPress lokaliseringssystem, läser in översättningar, ställer in språkversioner etc.
Du kan läsa vår guide om hur du använder WordPress på andra språk.
9. Hämtar tillägg för Multisite
Om det är ett multisite-nätverk kommer WordPress att hämta tillägg för multisite. Läs mer om hur tillägg fungerar på WordPress multisite-nätverk.
10. Do Action ’muplugins_loaded’
Actionen muplugins_loaded körs nu av WordPress. Denna action är endast available för nätverksaktiverade tillägg på en WordPress multisite.
11. Hämtar aktiva tillägg
WordPress kommer nu att hämta alla aktiva tillägg på webbplatsen. Detta görs genom att titta i active_plugins Entry i options table i din WordPress Database. Detta allow WordPress att ignorera tillägg som är installerade på din site men inte aktiverade.
12. Hämtar filen pluggable.php
Filen pluggable.php innehåller funktioner som kan omdefinieras av tillägg till WordPress.
WordPress kommer nu att se om ett annat tillägg redan har definierat funktionerna i den här filen. I annat fall kommer den att definiera dessa funktioner själv.
13. Do Action ’plugins_loaded’
WordPress kommer nu att runna aktionen ”plugins_loaded”.
Det allow utvecklare att åtgärds-hooka sina funktioner så att de körs efter att alla aktiva tillägg har hämtats.
14. Regler för omskrivning av hämtar
WordPress kommer nu att hämta omskrivningsreglerna. Dessa omskrivningsregler hjälper WordPress att använda sökmotorsoptimering av URL:er.
15. Instansiera $wp_query, $wp_rewrite, $wp
Vid denna tidpunkt hämtar WordPress följande objekt:
$wp_query: Den globala instance som innehåller WP_Query-klassen. Den talar om för WordPress vilket content som begärs i ett typiskt WordPress sökning format.
$wp_rewrite: Den globala instance som innehåller din WP_Rewrite-klass. Den innehåller dina omskrivningsregler och funktioner, som talar om för WordPress vilken URL som ska användas för att visa det requestade innehållet.
$wp: Den globala instansen av klassen WP innehåller funktioner som analyserar din request och utför huvudfrågeställningen.
16. Do Action ’setup_theme’
WordPress kommer nu att gå vidare för att runna ”setup_theme” action. Denna action körs innan your WordPress theme är inläst.
17. Hämtar barntemas functions.php-fil
Filen functions.php fungerar som ett plugin och används i WordPress-teman för att add to temaspecifika funktioner till din website. Om du använder ett barntema kommer WordPress nu att hämta ditt barntemas functions.php-fil.
Annars kommer den att fortsätta och hämta ditt aktuella aktiva temas functions.php-fil.
18. Hämtar huvudtemats functions.php-fil
Om du använder ett barntema kommer WordPress nu att hämta ditt huvudtemas functions.php-fil.
19. Do Action ”after_setup_theme
Denna action körs efter att WordPress har konfigurerat temat och hämtat temafunktionerna. Det är den första action som är available för themes.
20. Setup Current User Object
Kl. denna punkt hämtar WordPress det aktuella objektet för användaren. Det allow WordPress att hantera requesten i enlighet med användarens roll och capability.
21. Gör action ”init
WordPress har hittills hämtat all viktig information den behöver. Nu startar den działanie ”init”. Denna działanie registrerar också block som är tillgängliga i rdzeń eller som tillhandahålls av tillägg som är installerade på den webbplatsen.
Denna action aktiverar utvecklare att add to kod som måste exekveras efter att WordPress har hämtat all tidigare nämnd information.
22. Do Action ’widget_init’
Actionen widget_init
allow utvecklare att registrera widgetar och köra den kod som de behöver köra vid denna tidpunkt.
23. Run wp()
WordPress anropar nu funktionen wp()
, som finns i filen wp-includes/functions.php
. Den ställer in WordPress sökning globaler $wp, $wp_query, $wp_the_query, och anropar sedan $wp->main.
24. Parse Request
Nu har WordPress all information den behöver för att analysera användarens request. Det börjar med att kontrollera omskrivningsreglerna för att matcha användarens request.
Den kör sedan filter för frågevariabler, begär en åtgärds-hook och skickar en sidhuvudförfrågan.
25. Run sökning
Om inget innehåll matchar sökningen kommer WordPress att ställa in variabeln is_404.
Annars kommer WordPress att fortsätta att hämta sökningens variabler.
Den kommer sedan att run WP_Query->get_posts().
Därefter avfyrar den DO_ACTION_REF_ARRAY ’pre_get_posts’ action med WP_Query object.
WordPress kommer nu att köra apply_filters för att rensa upp sökningen och köra några sista kontroller.
Nu hämtar den posts från databasen och tillämpar filtren posts_results och the_posts.
Sökningens del avslutas med att WordPress returnerar posts.
26. Do Action ’mall_omdirigering’
WordPress kommer nu att run template_redirect
action. Denna åtgärds-hook körs strax innan WordPress bestämmer vilken template page som ska laddas.
27. Load Feed Template
Om det begärda innehållet är ett RSS-flöde, hämtar WordPress feed-mallen.
28. Hämtar Template
WordPress kommer nu att leta efter mallfilen baserat på WordPress mall-hierarki. Därefter hämtar den templates, som vanligtvis innehåller en WordPress -loop.
29. Gör action ’shutdown’
Precis innan all PHP-körning avslutas, avfyrar WordPress den sista actionen som kallas shutdown.
WordPress slutar fungera här. Den har runat koden och genererat användarens request på webben.
Nu svarar din webbhotell server på en användares request genom att skicka dem den webbsida som genereras av WordPress.
Den här page innehåller HTML-, CSS- och JavaScript-kod som talar om för användarens webbläsare hur den ska visas på vyn.
Visst är det fantastiskt? Alla dessa saker händer inom millisekunder. Om du använder en av dessa bästa WordPress webbhotell tjänster, kommer din page helst att hämtar på ett par sekunder.
Vi hoppas att den här artikeln hjälpte dig att lära dig hur WordPress fungerar bakom kulisserna. Du kanske också vill se våra tips om hur du skyddar obszar administracyjny i WordPress eller ta en titt på den här przewodniken med praktiska tips, tricks och hacks för WordPress.
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
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
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.
Dayo Olobayo
I couldn’t agree more. This infographic is a fantastic resource for anyone who wants to understand the magic behind WordPress. It really highlights the complex machinery that transforms code and data into the dynamic web pages we see every day.
MJB
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
Step 0 can certainly be a URL linking to the site, around step 15 is where the specific page would be considered.
Administratör
Mike Ross
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
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/
Administratör
Mike Ross
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
The index.php in the root folder tells WordPress to load your theme
Administratör
Terry Woods
That is correct
Jason
Why start from wp-config.php ? I thought it was from index.php
WPBeginner Support
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/
Administratör
Petru Ciucur
This is THE Article. Thanks !
WPBeginner Support
Glad our guide was helpful
Administratör
Juan Johnson
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
You may want to take another look at the infographic for understanding the loading and how it works.
Administratör
Juan Johnson
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
Glad our guide was helpful
Administratör
Paul McDevitt
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
Glad our article was helpful
Administratör
Naresh
very clear article.
WPBeginner Support
Thank you
Administratör
Chinenye
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
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/
Administratör
ganesh
very interesting
Adrian
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
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
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
Thanks for this nice explanation and info-graphics is so cool !!
Kristian
And people wonder why WordPress sites are slow. It does all that at run-time for every single page view!
Johnpaul Onwueme
Thanks for the info graphics
deborah
still seems complicated to me, but all tech does
Jason
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
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 ?