In de eerste twee delen van deze serie heb ik de WordPress-database en de structuur ervan geïntroduceerd en heb ik laten zien hoe relaties tussen verschillende inhoudstypen worden beheerd.
Hier zal ik inhoudstypen in meer detail bekijken en de verschillende soorten inhoud in WordPress beschrijven en hoe ze met elkaar omgaan.
Wanneer we denken aan inhoud in WordPress, denken we normaal gesproken aan berichten en pagina's. Maar dingen zijn niet zo eenvoudig. WordPress maakt gebruik van een aantal inhoudstypen en berichten en pagina's zijn slechts twee voorbeelden van een van deze.
Het begrijpen van de soorten inhoud, hoe ze worden opgeslagen en hoe ze met elkaar omgaan, zal je helpen grip te krijgen op WordPress op een meer geavanceerd niveau en geavanceerde vragen te schrijven voor je thema's en plug-ins.
Laten we kijken!
Er zijn vier soorten inhoud in WordPress:
Veel van deze werken op dezelfde manier, zoals we zullen zien.
Posts zijn het belangrijkste inhoudstype in WordPress. De terminologie om hen heen kan verwarrend zijn omdat post wordt gebruikt om iets in de. Te beschrijven wp_posts
tabel, maar deze wordt ook gebruikt om een bepaald berichttype te beschrijven. Het toevoegen van het volgende aan een vraag lijkt misschien overbodig, maar het is wel logisch!
'post_type' => 'plaatsen'
Er zijn vijf standaard berichttypen ingebouwd in WordPress, dit zijn:
Zoals ik in de vorige tutorial over deze serie heb uitgelegd, kunnen relaties tussen data worden behandeld, berichten kunnen aan elkaar gerelateerd zijn. Dit wordt meestal gebruikt om te definiëren aan welke post of pagina een bijlage is gekoppeld en welke pagina de bovenliggende pagina is.
De eerste drie berichttypes zijn WordPress-ontwikkelaars bekend als berichten, maar het is minder voor de hand liggend dat de laatste twee berichten zijn. Elke revisie wordt opgeslagen in de wp_posts
tabel met de post waarop het betrekking heeft als zijn ouder (met behulp van de post_parent
veld) en items in het navigatiemenu worden opgeslagen als berichten en vervolgens via een query weergegeven wanneer het menu wordt weergegeven. Dit is de reden waarom navigatiemenu's plotseling kunnen verdwijnen als u de pre_get_posts ()
filter verkeerd!
U kunt zoveel extra berichttypen toevoegen als u nodig heeft voor uw site, door aangepaste berichttypen te maken. Dit zijn slechts extra berichttypen die zich op dezelfde manier gedragen als berichten, pagina's of bijlagen, afhankelijk van hoe je ze hebt ingesteld bij het registreren van het berichttype.
Het onderstaande schema toont de wp_posts
tabel en de tabellen die gerelateerd zijn aan:
Opmerkingen worden opgeslagen in hun eigen databasetabel, wp_comments
. Ze werken op dezelfde manier als posts, waarbij elk metadata kan hebben via de wp_commentmeta
tabel, maar hebben andere inhoud en daarom zijn verschillende velden vereist voor hun tabel.
Opmerkingen zullen worden gekoppeld aan berichten via een één-op-veel relatie en ze zijn ook aan elkaar gekoppeld via de comment_parent
veld - dit wordt gebruikt om opmerkingen te identificeren die antwoorden zijn op andere opmerkingen. Ze kunnen ook optioneel worden gekoppeld aan de wp_users
tabel als ze zijn gemaakt door gebruikers die zijn ingelogd.
Het diagram toont de wp_comments
tabel en zijn relaties:
Gebruikers hebben hun eigen tabel, wp_users
, en hebben ook metagegevens opgeslagen in de wp_usermeta
tafel. Op het eerste gezicht lijken gebruikers een heel ander inhoudstype te zijn voor berichten, maar ze lijken meer op elkaar dan je denkt: ze kunnen worden bevraagd en uitgevoerd in een auteursarchief en ze hebben inhoud in de vorm van biografische gegevens over de gebruikers. Deze inhoud is heel anders gestructureerd dan berichten, links en opmerkingen en daarom hebben gebruikers hun eigen tabel nodig.
Het diagram toont de wp_users
tabel en zijn relaties:
U leert meer over gebruikersgegevens en hoe deze zich verhouden tot andere tabellen in een later deel van deze serie.
Het uiteindelijke inhoudstype is de link. Deze zijn bijna uitgefaseerd door WordPress, met de blogroll niet meer standaard beschikbaar sinds versie 3.5.
Koppelingen werken op dezelfde manier als berichten in die zin dat ze inhoud bevatten en dat ze taxonomietermen kunnen krijgen. Ze verschillen echter van berichten omdat ze heel verschillende velden hebben, die worden gebruikt om gegevens over het linkdoel, de beschrijving enzovoort op te slaan. Ze zijn niet gekoppeld aan gebruikers, dus er kan geen auteur aan worden toegewezen en ze hebben ook geen veld om een bovenliggend item te identificeren en kunnen dus niet aan een bericht worden gekoppeld, maar u kunt taxonomieën gebruiken om ze op archiefpagina's op te nemen..
De wp_links
tabel en de relaties met andere tabellen worden hieronder weergegeven:
Van de vier hierboven behandelde inhoudstypen kunnen er aan drie meta-gegevens worden toegewezen:
Ik zal metadata in meer detail bekijken in de latere in deze serie en laten zien hoe het is opgeslagen.
Zoals we hebben onderzocht, gebruikt WordPress een verscheidenheid aan inhoudstypen om gegevens en de relaties ertussen op te slaan. De soorten inhoud die in de database zijn opgeslagen, zijn niet beperkt tot berichten en pagina's, maar omvatten ook uw eigen aangepaste berichttypen plus andere inhoudstypen zoals bijlagen, revisies en items van het navigatiemenu.
Inzicht in wat elk van deze is en hoe het werkt, evenals de overeenkomsten en verschillen daartussen, zal u helpen om krachtigere WordPress-thema's en -plug-ins te ontwikkelen.