Forstå og jobbe med innholdstyper i WordPress

I de to første delene av denne serien introduserte jeg WordPress-databasen og dens struktur og viste hvordan forhold mellom ulike innholdstyper styres. 

Her ser jeg på innholdstypene mer detaljert og beskriver de forskjellige innholdstyper i WordPress og hvordan de samhandler.

Når vi tenker på innhold i WordPress, tenker vi normalt på innlegg og sider. Men det er ikke så enkelt. WordPress bruker en rekke innholdstyper, og innlegg og sider er bare to eksempler på en av disse.

Å forstå hva slags innhold, hvordan de lagres og hvordan de samhandler med hverandre, vil hjelpe deg å få tak i WordPress på et mer avansert nivå og skrive avanserte spørringer for temaene og pluginene dine.. 

La oss ta en titt!

De viktigste innholdstypene i WordPress

Det finnes fire typer innhold i WordPress:

  1. innlegg
  2. kommentarer
  3. brukere
  4. lenker

Mange av disse oppfører seg ganske like, som vi ser.

innlegg

Innlegg er den viktigste innholdstypen i WordPress. Terminologien rundt dem kan være forvirrende som innlegg er brukt til å beskrive noe i wp_posts bord, men det brukes også til å beskrive en bestemt posttype. Å legge til følgende på en spørring kan virke overflødig, men det gir mening!

'post_type' => 'innlegg'

Det er fem standard posttyper bygget inn i WordPress, disse er:

  1. post
  2. side
  3. feste
  4. revisjon
  5. navigasjonsmenyelement

Som jeg forklarte i forrige veiledning i denne serien, som dekker forhold mellom data, kan innleggene være relatert til hverandre. Dette brukes vanligvis til å definere hvilket innlegg eller side et vedlegg er knyttet til, og hvilken side er forelder for en annen side.

De tre første posttypene vil være kjent for WordPress-utviklere som innlegg, men det er mindre tydelig at de to siste er innlegg. Hver revisjon lagres i wp_posts bord med innlegget som det gjelder som foreldre (ved bruk av post_parent feltet), og navigasjonsmenyelementene lagres som innlegg og sendes ut via en spørring når menyen vises. Derfor kan navigasjonsmenyer plutselig forsvinne hvis du bruker pre_get_posts () filter feil!

Du kan legge til så mange flere innleggstyper som du trenger for nettstedet ditt, ved å lage egendefinerte innleggstyper. Dette er bare flere innleggstyper som oppfører seg på samme måte som innlegg, sider eller vedlegg, avhengig av hvordan du konfigurerer dem når du registrerer innleggstypen.

Diagrammet nedenfor viser wp_posts bord og tabellene det er relatert til:

kommentarer

Kommentarer lagres i egen database tabell, wp_comments. De jobber på en lignende måte som innlegg i at hver kan ha metadata knyttet til det via wp_commentmeta bord, men har forskjellig innhold og så forskjellige felt er nødvendig for sitt bord.

Kommentarer vil bli knyttet til innlegg via et til mange forhold, og de er også knyttet til hverandre ved hjelp av comment_parent feltet - dette brukes til å identifisere kommentarer som er svar på andre kommentarer. De kan også eventuelt kobles til wp_users bord hvis de er laget av brukere som er logget på.

Diagrammet viser wp_comments bord og dets forhold:

brukere

Brukerne har eget bord, wp_users, og har også metadata lagret i wp_usermeta bord. Ved første øyekast kan brukere synes å være en helt annen innholdstype for innlegg, men de er mer lik det du tror - de kan spørres og utgis i et forfatterarkiv, og de har innhold i form av biografiske data om brukerne. Dette innholdet er strukturert ganske annerledes enn innlegg, linker og kommentarer, og det er derfor brukerne trenger sitt eget bord.

Diagrammet viser wp_users bord og dets forhold:

Du lærer mer om brukerdata og hvordan det gjelder andre tabeller i en senere del av denne serien.

lenker

Den endelige innholdstypen er lenken. Disse har bare blitt utfaset av WordPress, med blogrollet som ikke lenger tilgjengelig som standard siden versjon 3.5.

Lenkene fungerer på samme måte som innlegg ved at de har innhold og kan ha taksonomi som er tildelt dem. Men de er forskjellig fra innlegg ved at de har ganske forskjellige felt, brukes til å lagre data om koblingsmål, beskrivelse og så videre. De er ikke knyttet til brukere, så det kan ikke tilordnes en forfatter, og de har heller ikke et felt for å identifisere en forelder så det ikke kan festes til et innlegg - men du kan bruke taksonomier til å inkludere dem i arkivsidene.

De wp_links bord og dets forhold til andre tabeller er vist nedenfor:

En notat på metadata

Av de fire innholdstypene som er dekket over, kan tre ha metadata tildelt dem:

  1. innlegg
  2. kommentarer
  3. brukere

Jeg ser nærmere på metadata senere i denne serien og viser deg hvordan den er lagret.

Sammendrag

Som vi har utforsket, bruker WordPress en rekke innholdstyper til å lagre data og forholdet mellom det. Typer innhold som er lagret i databasen, er ikke begrenset til innlegg og sider, men inkluderer også dine egne tilpassede innleggstyper pluss andre innholdstyper, for eksempel vedlegg, revisjoner og navigasjonsmenyelementer. 

Å forstå hva hver av disse er og hvordan det fungerer, samt likheter og forskjeller mellom dem, vil hjelpe deg med å utvikle kraftigere WordPress-temaer og plugins.