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 laddas snabbt. Det händer dock faktiskt mycket i bakgrunden.
När vi först började arbeta med WordPress för flera år sedan, gjorde vi en djupdykning i hur allt fungerar. Och nu delar vi med oss av den kunskapen till dig på ett enkelt sätt så att du kan förstå mer om WordPress.
I den här guiden går vi igenom hur WordPress fungerar internt. Vi har också skapat en lättförståelig infografik för att göra saker tydligare.

Vad är WordPress?
WordPress är en webbplatsbyggare och innehållshanteringssystem. Det är öppen källkod som vem som helst kan använda för att skapa vilken typ av webbplats som helst.
Det började som en bloggplattform 2003 men förvandlades snart till ett CMS och senare en fullfjädrad plattform för webbplatsbyggande. Idag driver det mer än 43% av alla webbplatser på internet.
För att lära dig mer om dess utveckling, historia och fördelar och nackdelar, se vår omfattande guide om vad WordPress är och hur mycket det kostar att bygga en WordPress-sajt.
Varför du bör lära dig hur WordPress fungerar?
WordPress är en open source-mjukvara, vilket innebär att vem som helst kan studera dess kod och skriva sina egna appar (plugins) och mallar (teman) för den.
Under åren har vi sett otaliga nybörjare snabbt bli avancerade användare genom att helt enkelt lära sig hur WordPress fungerar som programvara.
Det kommer också att lära dig om att förbättra WordPress prestanda och skriva bättre kod för dina projekt.
Den här guiden kommer att guida dig genom hela processen steg för steg. Vi börjar när en användare begär en sida och slutar när den sidan är helt laddad.
Redo? Låt oss börja.

Du kan också följa vår skriftliga handledning nedan för mer information.
1. Ladda wp-config.php-filen
wp-config.php är WordPress konfigurationsfil. 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 laddar.
Läs mer om wp-config.php-filen och hur du redigerar den.
2. Ställ in standardkonstanter
Efter att ha laddat filen wp-config.php fortsätter WordPress med att ställa in standardkonstanter.
Detta inkluderar information som standard WordPress-uppladdningsplats, maximala filstorlekar och andra standardkonstanter som ställts in i wp-config.php-filen.
3. Ladda advanced-cache.php-filen
Om en fil med namnet advanced-cache.php finns på din webbplats, kommer WordPress att ladda den härnäst.
Den här filen fungerar som en "drop-in"-fil och används av flera populära plugins, särskilt WordPress-cache-plugins. Om din webbplats använder den här filen ser du ett nytt objekt på sidan Plugins som kallas "Drop-ins".

4. Ladda wp-content/db.php-filen
WordPress tillåter utvecklare att skapa sina egna databasabstraktionslager och ladda dem i en fil med namnet db.php som placeras i mappen wp-content. WordPress-cache-plugins använder det vanligtvis för att förbättra databasprestandan.
Om din webbplats har den här filen närvarande, kommer WordPress att ladda den.
5. Anslut MySQL och välj databas
WordPress har nu tillräckligt med information för att fortsätta. Den kommer att ansluta till MySQL-servern och välja databasen.
Om WordPress inte kan ansluta till databasen, ser du felet "Fel vid upprättande av databasanlutning", och WordPress avslutas här.
Om allt fungerar bra, går det vidare till nästa steg.
6. Ladda filen object-cache.php eller wp-includes/cache.php
WordPress kommer nu att leta efter filen object-cache.php. Om den inte finns, fortsätter WordPress med att ladda filen wp-includes/cache.php.
7. Ladda wp-content/sunrise.php-filen
Om det är ett multisite-nätverk, kommer WordPress att leta efter filen sunrise.php om den finns i mappen wp-content.
8. Ladda lokaliseringsbiblioteket
WordPress kommer nu att ladda l10n.php-biblioteket i mappen wp-includes. Den här filen laddar WordPress lokaliseringssystem, laddar översättningar, ställer in lokaler, etc.
Du kan se vår guide om hur man använder WordPress på andra språk.
9. Ladda multisite-plugins
Om det är ett multisite-nätverk, kommer WordPress att ladda multisite-plugins. Läs mer om hur plugins fungerar på WordPress multisite-nätverk.

10. Kör Action ‘muplugins_loaded’
Action-hooken muplugins_loaded körs nu av WordPress. Denna action är endast tillgänglig för nätverksaktiverade plugins på ett WordPress multisite.
11. Ladda aktiva plugins
WordPress kommer nu att ladda alla aktiva plugins på webbplatsen. Det gör det genom att titta i posten active_plugins i options-tabellen i din WordPress-databas. Detta gör att WordPress kan ignorera plugins som är installerade på din webbplats men inte aktiverade.
12. Ladda pluggable.php-filen
Filen pluggable.php innehåller funktioner som kan omdefinieras av WordPress-plugins.
WordPress kommer nu att se om ett annat plugin redan har definierat funktionerna i den här filen. Annars kommer det att definiera dessa funktioner själv.
13. Kör Action ‘plugins_loaded’
WordPress kommer nu att köra åtgärden ‘plugins_loaded’.
Det gör det möjligt för utvecklare att koppla sina funktioner så att de körs efter att alla aktiva plugins har laddats.
14. Ladda omskrivningsregler
WordPress kommer nu att ladda omskrivningsreglerna. Dessa omskrivningsregler hjälper WordPress att använda SEO-vänliga URL:er.
15. Instansiera $wp_query, $wp_rewrite, $wp
Vid denna tidpunkt laddar WordPress följande objekt:
$wp_query: Den globala instansen som innehåller WP_Query-klassen. Den talar om för WordPress vilket innehåll som begärs i ett typiskt WordPress-frågeformat.
$wp_rewrite: Den globala instansen 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 begärda innehållet.
$wp: Den globala instansen av WP-klassen innehåller funktioner som kommer att tolka din begäran och utföra huvudfrågan.
16. Utför åtgärd 'setup_theme'
WordPress kommer nu att gå vidare till att köra åtgärden 'setup_theme'. Den här åtgärden körs innan ditt WordPress-tema laddas.
17. Ladda Child Theme’s functions.php-fil
functions.php-filen fungerar som ett plugin och används i WordPress-teman för att lägga till tema-specifika funktioner på din webbplats. Om du använder ett barn-tema, kommer WordPress nu att ladda ditt barn-temas functions.php-fil.
Annars kommer den att fortsätta och ladda din nuvarande aktiva temas functions.php-fil.
18. Ladda föräldratemats functions.php-fil
Om du använder ett barn-tema, kommer WordPress nu att ladda din föräldratems functions.php-fil.
19. Utför åtgärden 'after_setup_theme'
Denna åtgärd körs efter att WordPress har konfigurerat temat och laddat temafunktioner. Det är den första åtgärden som är tillgänglig för teman.
20. Konfigurera aktuellt användarobjekt
Vid denna tidpunkt laddar WordPress det aktuella användarobjektet. Det gör att WordPress kan hantera begäran i enlighet med användarens roll och behörigheter.
21. Kör åtgärd ‘init’
WordPress har hittills laddat all viktig information den behöver. Nu avfyrar den åtgärden 'init'. Denna åtgärd registrerar också block som är tillgängliga i kärnan eller som tillhandahålls av några plugins som är installerade på den webbplatsen.
Denna åtgärd gör det möjligt för utvecklare att lägga till kod som behöver köras efter att WordPress har laddat all tidigare nämnd information.
22. Utför åtgärd ‘widget_init’
Åtgärden widget_init tillåter utvecklare att registrera widgets och köra den kod de behöver köra vid denna tidpunkt.
23. Kör wp()
WordPress anropar nu funktionen wp(), som finns i filen wp-includes/functions.php. Den ställer in WordPress-fråge-globalerna $wp, $wp_query, $wp_the_query, och anropar sedan $wp->main.
24. Parsa begäran
Nu har WordPress all information den behöver för att tolka användarens begäran. Den börjar med att kontrollera omskrivningsreglerna för att matcha användarens begäran.
Sedan kör den filter för frågevariabler, begär en action-hook och skickar en header-begäran.
25. Kör fråga
Om inget innehåll matchar frågan, kommer WordPress att ställa in variabeln is_404.
Annars fortsätter WordPress att ladda frågevariabler.
Den kommer sedan att köra WP_Query->get_posts().
Därefter körs DO_ACTION_REF_ARRAY 'pre_get_posts'-åtgärden med WP_Query-objektet.
WordPress kommer nu att köra apply_filters för att rensa frågan och köra några slutliga kontroller.
Nu hämtar den inlägg från databasen och tillämpar posts_results- och the_posts-filter.
Frågedelen avslutas med att WordPress returnerar inläggen.
26. Utför åtgärden 'template_redirect'
WordPress kör nu åtgärden template_redirect. Den här kroken körs precis innan WordPress bestämmer vilken mall som ska laddas.
27. Ladda feed-mall
Om det begärda innehållet är ett RSS-flöde, laddar WordPress mallen för flödet.
28. Ladda mall
WordPress kommer nu att leta efter mallfilen baserat på WordPress mallhierarki. Den laddar sedan mallen, som vanligtvis innehåller en WordPress-loop.
29. Utför åtgärd ‘shutdown’
Strax innan all PHP-körning avslutas, utlöser WordPress den sista åtgärden som kallas shutdown.
WordPress slutar fungera här. Den har kört koden och genererat användarens begärda webbsida.
Nu svarar din webbhotellsserver på en användares begäran genom att skicka dem den webbsida som genererats av WordPress.
Den här sidan innehåller HTML-, CSS- och Javascript-kod, som talar om för användarens webbläsare hur den ska visas på skärmen.
Fantastiskt, eller hur? Alla dessa saker sker inom millisekunder. Om du använder någon av dessa bästa WordPress-hosting-tjänster, kommer din sida idealiskt sett att laddas 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 att skydda WordPress adminområde eller ta en titt på den här guiden med praktiska WordPress-tips, -knep och -hacks.
Om du gillade den här artikeln, prenumerera då på vår YouTube-kanal för WordPress-videoguider. Du kan också hitta oss på Twitter och Facebook.

Olaf
Jag har aldrig tänkt på hur hela processen fungerar, och det här är den första artikeln jag har stött på som förklarar dessa detaljer. Den är lite mer teknisk, och alla kanske inte uppskattar den, men jag värdesätter att du skapade den här infografiken eftersom jag aldrig har sett något liknande tidigare. Det var mycket intressant för mig att se hela processen steg för steg.
Dennis Muthomi
Den här genomgången är otroligt upplysande!
Den stegvisa förklaringen av laddningsprocessen var särskilt värdefull och avsnittet om hur WordPress laddar och exekverar olika filer (som wp-config.php, advanced-cache.php och object-cache.php) hjälpte mig verkligen att förstå varför vissa optimeringar fungerar som de gör.
Moinuddin Waheed
Det är verkligen, verkligen intressant att se hur sidorna laddades bakom kulisserna och vad som händer när en användare gör en begäran.
Du har förklarat mycket bra med hjälp av infografik.
Detta får oss att undra att så många saker bara händer på ett ögonblicks.
Detta är så kraftfullt och så stärkande att se vart tekniken har lett oss.
Jag uppskattar verkligen den här artikeln för att den vackert beskriver "bakom kulisserna"-aspekten av en webbplats.
WPBeginner Support
Glad our guide was helpful
Admin
Jiří Vaněk
Detta är första gången jag ser en så omfattande sammanfattning av allt som händer i bakgrunden innan en sida genereras. Jag måste erkänna att jag inte har hittat så detaljerad information någon annanstans. När jag tänker på hur många processer som måste ske innan en sida laddas och att WordPress och servern hanterar allt inom en sekund, är det fantastiskt vad dagens servrar och system kan göra.
Dayo Olobayo
Jag kan inte hålla med mer. Den här infografiken är en fantastisk resurs för alla som vill förstå magin bakom WordPress. Den belyser verkligen den komplexa maskin som omvandlar kod och data till de dynamiska webbsidor vi ser varje dag.
MJB
hm – jag saknar lite steg 0
så är detta en korrekt antagande?
en URL kommer in till min hostade webbserver
och begär, låt oss säga, min hemsida
sedan startar webbservern steg (1) ?
vilket sedan körs fram till steg (24)
där WP tolkar den inkommande URL:en för att räkna ut nästa steg?
WPBeginner Support
Steg 0 kan absolut vara en URL som länkar till webbplatsen, runt steg 15 är där den specifika sidan skulle beaktas.
Admin
Mike Ross
Vad sägs om index.php i roten?
Jag förstår inte... Det finns guider som beskriver en helt annan sekvens för WordPress-initialisering.
WPBeginner Support
Index.php skulle vara för temafiler, vi täcker temahierarkin i vår guide nedan:
https://www.wpbeginner.com/wp-themes/wordpress-template-hierarchy-explained/
Admin
Mike Ross
Nej, jag pratar inte om tematets startsidemall. Jag pratar om index.php i roten, som är en del av WordPress kärna. Den utlöser wp-blog-header.php, som sedan laddar wp-load.php som sätter upp hela WordPress-miljön.
WPBeginner Support
The index.php in the root folder tells WordPress to load your theme
Admin
Terry Woods
Det stämmer
Jason
Varför börja från wp-config.php? Jag trodde det var från index.php
WPBeginner Support
Det skulle vara för teman och inte WordPress självt, för index.php vill du titta på mallhierarkin i vår guide nedan:
https://www.wpbeginner.com/wp-themes/wordpress-template-hierarchy-explained/
Admin
Petru Ciucur
Detta är DEN artikeln. Tack!
WPBeginner Support
Glad our guide was helpful
Admin
Juan Johnson
HEJ wpbeginner.
Jag märkte att i din sekvens nämnde du att wp gör detta och sedan det. Fysiskt, var finns instansen av wp()? På servern? Händer detta mellan en initial laddningssidans postförfrågan när jag använder Google-webbläsaren och den slutliga laddningen av wp-instrumentpanelen efter inloggning?
WPBeginner Support
Du kanske vill titta närmare på infografiken för att förstå laddningen och hur den fungerar.
Admin
Juan Johnson
Jag är programmerare. Jag blir mer intresserad av webbdesign, men jag kan inte släppa viljan att veta vad som händer bakom kulisserna. Din artikel har gett mig en grund att börja bygga webbsidor med självförtroende.
WPBeginner Support
Glad our guide was helpful
Admin
Paul McDevitt
Detta är briljant. Stötte på flera problem med gamla, utgångna plugins, uppdatering av PHP, etc., och ett virus (förmodligen på grund av de tidigare sakerna.) Så allt är nu låst och rensat, men ville bättre förstå händelseförloppet eftersom det att titta på en enda PHP-fil är som att försöka läsa en skål spaghetti, eftersom jag inte förstod sekvensen av aktiviteterna. Så absolut fantastiskt. Älskar detta.
Tack
WPBeginner Support
Glad our article was helpful
Admin
Naresh
mycket tydlig artikel.
WPBeginner Support
Thank you
Admin
Chinenye
Jag vill verkligen veta vad WordPress gör, hur kan jag skapa och dela inlägg via WordPress? Vad gör det för mig förutom att skapa en webbplats?
WPBeginner Support
WordPress låter dig skapa en webbplats utan att behöva ha kunskap om HTML och CSS. För att dela dina inlägg vill du normalt titta på plugins för sociala medier: https://www.wpbeginner.com/plugins/best-social-media-plugins-for-wordpress/
Admin
ganesh
mycket intressant
Adrian
Intressant men inte riktigt en definition av hur Wordpress fungerar. Detta beskriver vad det gör, inte hur det gör det. Det skulle vara användbart att också veta hur det gör saker såväl som vad det gör. Till exempel, hur vet det vilket tema det ska ladda? Utan hur är allt ovanstående mycket på hög nivå.
amir saleem
17. Ladda Child Theme’s functions.php-fil
Filen functions.php fungerar som ett plugin och används i WordPress-teman för att lägga till temarelaterade funktioner på din webbplats. Om du använder ett barn-tema, kommer WordPress nu att ladda ditt barn-temas functions.php-fil.
Annars kommer den att fortsätta och ladda din nuvarande aktiva temas functions.php-fil.
18. Ladda föräldratemats functions.php-fil
[ Om du använder ett barn-tema ], kommer WordPress nu att ladda ditt föräldratems functions.php-fil.
kontrollera texten inom parentes och matcha all formulering här kommer att ersättas [ om du använder ett föräldratema ].
Tack.
Caleb
Amir, jag tror att det OP försöker säga är att om det finns ett barn-tema, så finns det uppenbarligen ett föräldra- och barn-functions.php och WordPress laddar först barn-temats functions.php innan det laddar förälderns. Annars laddar det bara förälderns functions.php direkt.
Altab Hossen
Tack för denna fina förklaring och infografiken är så cool!!
Kristian
Och folk undrar varför WordPress-sajter är långsamma. Den gör allt det där vid körning för varje enskild sidvisning!
Johnpaul Onwueme
Tack för infografiken
deborah
verkar fortfarande komplicerat för mig, men allt tekniskt gör det
Jason
Skulle du vara villig att erbjuda detta som en tryckt affisch? Jag vet inte om det skulle generera mycket intresse eller ge dig några pengar, men eftersom det är en så fin grafik kan det bli en fin väggprydnad på kontoret.
anis
Tack för den här artikeln. Jag har länge velat veta
de olika stegen för laddning.
Vad är ett databasabstraktionslager och hur konfigurerar man det?