En WordPress-webbplats består av tre huvuddelar:
wp-innehåll
katalog som innehåller teman, plugins och uppladdningarDe flesta WordPress-användare kommer aldrig i direkt kontakt med databasen och kan inte ens vara medvetna om att det hela tiden arbetar för att fylla sin webbplats. När WordPress serverar någon form av sida, det vill säga att hemsidan, ett enda inlägg eller en sida eller ett arkiv, går åt databasen för att hämta innehåll som redaktörer och administratörer har lagt till på webbplatsen.
I denna serie av handledning ser jag i detalj på olika aspekter av WordPress-databasen. Serien kommer att ha nio delar, som omfattar följande:
I den här introduktionen ger jag en översikt över databastabellerna och hur de relaterar till innehållstyperna du kan använda för att arbeta med i WordPress och identifiera vad som lagras där.
Eftersom databas tabeller används för att lagra innehåll, innan du kan förstå dem behöver du förstå innehållet. Det finns flera typer av innehåll i WordPress:
Dessa innehållstyper har då data bifogade dem:
Utöver dessa finns det andra typer av innehåll som lagras olika:
Alla dessa typer av innehåll lagras någonstans i databasen (eller ibland i teman eller plugin-filer som jag visar). De kan ha egna inlägg, eller de kan vara en del av en annan post (till exempel strömmade innehåll kodade till ett inlägg). De kan också kopplas till data i andra tabeller. Till exempel kommer data om inlägg att kopplas till data om användare så att WordPress vet vem som skrev vilka inlägg.
WordPress använder en rad databas tabeller med relationer mellan dem för att minimera mängden data som måste lagras - det här skapar ett till många relationer. Det betyder att en användare kan ha många inlägg som de författat i samband med deras användarrekord. Det sparar utrymme - om WordPress lagrade alla användardata för varje användare mot varje post som de skapade, skulle det innebära många upprepade data och mycket utrymme.
Diagrammet nedan är hämtat från WordPress codex och visar databastabellerna och hur de är länkade:
De flesta av tabellerna är kopplade till en eller flera andra tabeller via ett fält. Detta fält kommer att vara en unik identifierare för varje post, t.ex. post_id
. Detta visas mer i detalj i den här tabellen:
Tabell | Data lagrad | Länkad till |
---|---|---|
wp_posts | Inlägg, sidor, bilagor, revisioner och navigeringsmenyalternativ | wp_postmeta (via post_id )wp_term_relationships (via post_id ) |
wp_postmeta | Metadata för varje inlägg | wp_posts (via post_id ) |
wp_comments | kommentarer | wp_posts (via post_id ) |
wp_commentmeta | Metadata för varje kommentar | wp_comments (via comment_id ) |
wp_term_relationships | Förhållanden mellan inlägg och taxonomier | wp_posts (via post_id )wp_term_taxonomy (via term_taxonomy_id ) |
wp_term_taxonomy | Taxonomier (inklusive kategorier och taggar) | wp_term_relationships (via term_taxonomy_id ) |
wp_terms | Dina kategorier och taggar och de villkor som tilldelats anpassade taxonomier | wp_term_taxonomy (via term_id ) |
wp_links | Länkarna i din bloggroll (om du fortfarande har en) | wp_term_relationships (via LINK_ID ) |
wp_users | användare | wp_posts (via post_author ) |
wp_user_meta | Metadata för varje användare | wp_users (via användar ID ) |
wp_options | Webbplatsinställningar och alternativ (inställda via inställningsskärmen och via plugin och teman) | n / a |
Några saker är värda att notera:
wp_
prefix som standard. Du kan ändra detta när du konfigurerar din webbplats men det finns inte mycket värde för det.wp_posts
bord där de flesta av dina data kommer att lagras. Detta håller (nästan) allt annat tillsammans.wp_options
tabell. I tabellerna lagras data om webbplatsen och WordPress-installationen, som inte är relaterad till data om inlägg eller användare.wp_users
och wp_comments
Tabellerna är inte länkade - även om det är möjligt att ange att användarna måste registreras för att kommentera, lagras inte WordPress faktiskt data om kommentarer mot varje användare som har lagt upp dem. Efter att ha tittat på innehållstyperna i WordPress och databas tabellerna som används för att lagra dem, kan det vara till hjälp att matcha de två uppåt. Tabellen nedan visar vilken databastabell som används för att lagra varje typ av innehåll.
Innehållstyp | Tabell (er) |
---|---|
inlägg | wp_posts |
sidor | wp_posts |
anpassade posttyper | wp_posts |
bilagor | wp_posts |
länkar | wp_links |
navigeringsmenyobjekt | wp_posts |
kategorier | wp_terms |
taggar | wp_terms |
anpassade taxonomier | wp_term_taxonomy |
taxonomi villkor | wp_terms |
posta metadata | wp_post_meta |
widgetar | wp_options |
alternativ | wp_options |
användare | wp_users |
hårdkodad innehåll | wp_posts (om det läggs till inlägg)wp_options (om den läggs till i widgets)Tema- och pluginfiler (om det är hårdkodat) |
tredje parts innehåll | wp_posts (om det läggs till inlägg)wp_options (om det läggs till via widgets eller plugins)Tema- och pluginfiler (om det är hårdkodat) |
Du kanske har märkt att inte alla databas tabeller ingår i den tabellen. Det beror på att vissa av dem används för att lagra metadata och andra används för att lagra relationer, vilka båda kommer att beskrivas mer i detalj senare i denna serie.
Förhoppningsvis har du nu en bättre förståelse för hur och där WordPress lagrar olika typer av data med hjälp av databasstrukturen. Denna serie kommer att se mer på alla aspekter av detta.
I nästa del ska jag granska relationer mellan data och titta mer i detalj på hur specifika tabeller är länkade och hur vissa används endast för att lagra data om relationer.