Förstå och arbeta med innehållstyper i WordPress

I de två första delarna av denna serie introducerade jag WordPress-databasen och dess struktur och visade hur relationerna mellan olika innehållstyper hanteras. 

Här tittar jag mer på innehållstyperna och beskriver de olika typerna av innehåll i WordPress och hur de interagerar.

När vi tänker på innehåll i WordPress, tänker vi normalt på inlägg och sidor. Men det är inte så enkelt. WordPress använder ett antal innehållstyper, och inlägg och sidor är bara två exempel på en av dessa.

Att förstå innehållstyperna, hur de lagras och hur de interagerar med varandra hjälper dig att ta tag i WordPress på en mer avancerad nivå och skriva avancerade frågor för dina teman och plugins. 

Låt oss ta en titt!

De huvudsakliga innehållstyperna i WordPress

Det finns fyra typer av innehåll i WordPress:

  1. inlägg
  2. kommentarer
  3. användare
  4. länkar

Många av dessa beter sig på samma sätt som vi ser.

inlägg

Inlägg är den viktigaste innehållstypen i WordPress. Terminologin kring dem kan vara förvirrande, eftersom posten används för att beskriva någonting i wp_posts bord men det används också för att beskriva en viss posttyp. Att lägga till följande på en fråga kan tyckas överflödig men det är meningsfullt!

'post_type' => 'inlägg'

Det finns fem standarda posttyper inbyggda i WordPress, det här är:

  1. posta
  2. sida
  3. bilaga
  4. revision
  5. navigationsmenyobjekt

Som jag förklarade i den tidigare handledningen i denna serie, som täcker relationer mellan data, kan inlägg relateras till varandra. Detta brukar användas för att definiera vilken post eller sida en bilaga är kopplad till, och vilken sida är föräldern till en annan sida.

De tre första posttyperna kommer att vara bekant för WordPress-utvecklare som inlägg, men det är mindre uppenbart att de två sista är inlägg. Varje revision sparas i wp_posts bord med posten som den hänför sig till som förälder (med hjälp av post_parent fältet) och menyerna i navigeringsmenyn sparas som inlägg och matas sedan ut via en fråga när menyn visas. Därför kan navigationsmenyerna plötsligt försvinna om du använder pre_get_posts () filtrera felaktigt!

Du kan lägga till så många ytterligare posttyper som du behöver för din webbplats, genom att skapa anpassade posttyper. Det här är bara ytterligare posttyper som beter sig på samma sätt som inlägg, sidor eller bilagor, beroende på hur du ställer in dem när du registrerar posttypen.

Diagrammet nedan visar wp_posts bord och tabellerna är relaterade till:

kommentarer

Kommentarer lagras i sin egen databas tabell, wp_comments. De fungerar på liknande sätt som inlägg, eftersom de kan ha metadata kopplade till det via wp_commentmeta bord, men har olika innehåll och så olika fält krävs för deras bord.

Kommentarer kommer att kopplas till inlägg via ett till många förhållande och de är också länkade till varandra med hjälp av comment_parent fält - detta används för att identifiera kommentarer som är svar på andra kommentarer. De kan också valfritt kopplas till wp_users bord om de är gjorda av användare som är inloggade.

Diagrammet visar wp_comments bord och dess relationer:

användare

Användarna har sitt eget bord, wp_users, och har också metadata lagrade i wp_usermeta tabell. Vid första anblicken kan användarna tycka att det är en mycket annorlunda innehållstyp för inlägg, men de är mer likartade än de tror - de kan frågas och skrivas ut i ett författararkiv och de har innehåll i form av biografiska data om användarna. Det här innehållet är strukturerat helt annorlunda än inlägg, länkar och kommentarer, varför användarna behöver sitt eget bord.

Diagrammet visar wp_users bord och dess relationer:

Du lär dig mer om användardata och hur det hänför sig till andra tabeller i en senare del av denna serie.

länkar

Den slutliga innehållstypen är länken. Dessa har bara blivit utfasade av WordPress, med bloggrollen är inte längre tillgänglig som standard sedan version 3.5.

Länkar fungerar på liknande sätt som inlägg genom att de har innehåll och kan ha taxonomi villkor som tilldelats dem. Men de skiljer sig från inlägg genom att de har ganska olika fält, brukade lagra data om länkmålet, dess beskrivning och så vidare. De är inte länkade till användare så det kan inte tilldelas en författare och de har inte ett fält för att identifiera en förälder så att de inte kan fästas i ett inlägg - men du kan använda taxonomier för att inkludera dem på arkivsidor.

De wp_links tabell och dess relationer till andra tabeller visas nedan:

En anteckning om metadata

Av de fyra innehållstyperna som omfattas ovan kan tre ha metadata tilldelade dem:

  1. inlägg
  2. kommentarer
  3. användare

Jag kommer att titta på metadata i detalj senare i den här serien och visa hur den lagras.

Sammanfattning

Som vi har undersökt använder WordPress en mängd olika innehållstyper för att lagra data och relationerna mellan den. De typer av innehåll som lagras i databasen är inte begränsade till inlägg och sidor, men innehåller även egna egna posttyper och andra innehållstyper som bilagor, revisioner och navigeringsmenyalternativ. 

Att förstå vad var och en av dessa är och hur det fungerar, liksom likheterna och skillnaderna mellan dem, hjälper dig att utveckla mer kraftfulla WordPress-teman och plugins.