Tot nu toe hebben we in deze serie gekeken naar de belangrijkste inhoudstypen in WordPress. Maar hoe zit het met de aanvullende gegevens over al die inhoud?
Dat is waar metadata in het spel komt.
Zoals ik in een eerder deel van deze serie behandelde, heeft WordPress vier hoofdinhoudstypen die het in vier databasetabellen opslaat:
De eerste drie van deze kunnen ook metadata toegewezen krijgen, en elk heeft zijn eigen metadatatabel in de database om deze op te slaan.
Metagegevens kunnen worden beschreven als gegevens over gegevens. Wikipedia definieert twee soorten metadata:
Structurele metadata gaat over het ontwerp en de specificatie van datastructuren en wordt beter "data over de containers met data" genoemd; beschrijvende metadata, aan de andere kant gaat het om individuele gevallen van toepassingsgegevens, de gegevensinhoud.
Door deze definitie gebruikt WordPress beschrijvende metadata. Wat we definiëren als gegevens in WordPress en wat kan worden gedefinieerd als metagegevens is een beetje wazig en komt niet direct overeen met wat is opgeslagen in de metadatatabellen. Bijvoorbeeld:
post_type
is een voorbeeld van metadata, maar het is opgeslagen in de wp_posts
tafelwp_postmeta
tafel, zoals je zou verwachten.Het is dus gemakkelijker om metadata in WordPress te denken, niet volgens de strikte definitie van de term, maar als de gegevens die zijn opgeslagen in de drie metadatatabellen.
WordPress gebruikt drie databasetabellen voor metadata:
wp_postmeta
slaat metadata op over berichten (inclusief bijlagen, items van het navigatiemenu en herzieningen)wp_commentmeta
slaat metadata op over opmerkingenwp_usermeta
slaat metadata over gebruikers opHet enige objecttype in WordPress dat geen metadata bevat, is de link.
De metadatatabellen zijn allemaal bijna identiek in die zin dat ze slechts vier velden hebben:
WordPress kan deze structuur gebruiken om grote hoeveelheden metadata op te slaan met een eenvoudige structuur. Dit betekent dat de functies die u gebruikt voor het weergeven en opvragen van metagegevens voor berichten, gebruikers en opmerkingen erg op elkaar lijken.
De metagegevens die in een individuele WordPress-installatie zijn opgeslagen, verschillen van de metagegevens die in een andere installatie zijn opgeslagen, omdat plug-ins en thema's hun eigen metagegevens kunnen toevoegen en omdat u in sommige sites specifieke metagegevens moet definiëren, terwijl u in andere niet zult werken..
Maar laten we eens kijken naar enkele van de meer gebruikelijke soorten metadata:
wp_postmeta
tafel. U kunt ze toevoegen met behulp van de standaard Aangepaste velden-interface of door uw eigen metaboxen te maken in de schermen voor het bewerken van berichten. Dit kan met name handig zijn als u wilt dat gebruikers metadata kunnen toevoegen aan een specifiek berichttype en u de interface zo gebruiksvriendelijk mogelijk wilt maken.wp_usermeta
tabel slaat metadata op over de meeste gebruikers, zoals rollen, mogelijkheden, dashboardinstellingen en zelfs voor- en achternamen.wp_commentmeta
tabel, terwijl plug-ins waarmee u metagegevens aan berichten kunt toevoegen, zoals SEO-plug-ins, records toevoegen aan de wp_postmeta
tafel. Je zou theoretisch metadata kunnen toevoegen via je thema, maar het is logischer om dit in een plug-in te doen, omdat het over het algemeen gerelateerd is aan functionaliteit en niet wordt weergegeven.Natuurlijk is de lijst niet beperkt tot deze types. Alle gegevens over berichten, opmerkingen of gebruikers die niet in hun hoofddatabasetabellen kunnen worden opgeslagen, worden opgeslagen in de relevante metadatatabellen..
Als u een nieuw veld toevoegt voor het opslaan van gegevens, moet u altijd deze tabellen gebruiken en niet de kerntabellen.
WordPress heeft een metadata-API die u gebruikt om metadata toe te voegen, te wijzigen, te verkrijgen en te verwijderen. Er zijn een aantal functies die specifiek zijn voor elk type metagegevens dat u gebruikt om metagegevens in uw sjabloonbestanden uit te voeren: u moet deze gebruiken in plaats van generieke metagegevensfuncties.
De metagegevens API-functies voor elk inhoudstype zijn zeer vergelijkbaar en hebben dezelfde parameters:
Metadata toevoegen | Metadata verkrijgen | Metadata updaten | Metadata verwijderen | |
---|---|---|---|---|
berichten | add_post_meta () | get_post_meta () | update_post_meta () | delete_post_meta () |
gebruikers | add_user_meta () | get_user_meta () | update_user_meta () | delete_user_meta () |
Comments | add_comment_meta () | get_comment_meta () | update_comment_meta () | delete_comment_meta () |
parameters | $ post_id , $ meta_key , $ meta_value , $ unieke (Optioneel) | $ post_id , $ meta_key , $ enkelvoudige (Optioneel), | $ post_id , $ meta_key , $ meta_value , $ prev_value (Optioneel) | $ post_id , $ meta_key , $ meta_value (Optioneel) |
Deze functies kunnen worden gebruikt in uw sjabloonbestanden en plug-ins, bijvoorbeeld in de sjabloon voor één bericht van uw thema, u zou het volgende kunnen gebruiken om metagegevens over het bericht uit te voeren:
Dit is slechts een heel eenvoudige manier om wat metadata uit te voeren - er zijn nog veel meer mogelijkheden, waarvan ik later in deze serie zal bespreken.
WordPress gebruikt drie metadatatabellen om gegevens over drie inhoudstypen op te slaan: berichten, gebruikers en opmerkingen. Deze tabellen worden gebruikt voor alles dat niet in de kern is opgeslagen wp_posts
, wp_users
en wp_comments
tabellen en zijn de tabellen waar u gegevens naartoe moet schrijven als u nieuwe velden toevoegt via thema's of plug-ins. De drie tabellen werken op vrijwel identieke manieren en hebben zeer vergelijkbare functies die u kunt gebruiken om metadata toe te voegen, bij te werken, te verwijderen en op te halen.
Zoals ik hierboven al zei, kunnen taxonomietermen worden gezien als een ander type metadata in WordPress, en dit zijn de dingen die ik in het volgende deel van deze serie zal behandelen.