Mastering WordPress Meta Data En introduksjon til metadata

En del av det som gjør WordPress til et kraftig CMS-verktøy, er evnen til å bruke wp_postmeta bord for å lagre egendefinerte felt. Disse egendefinerte feltene kan inneholde tilleggsinformasjon, for eksempel SEO-felt som er lagt til av et SEO-plugin, eller kan brukes til å vise ytterligere innhold i fronten.

Ved å legge til denne tilleggsinformasjonen til felt kan du opprette egendefinerte spørringer for å organisere visning av innholdet ditt ved.

Å lære å jobbe med disse dataene er en fin måte å lære kjernekompetanse på PHP, inkludert arrays, looper og objekter. For å bli en mester i WordPress-metadata må du mestre arrays av alle slags.

I denne serien av opplæringsprogrammer vil jeg vise deg ulike måter å jobbe med WordPress-post-metadata og bruker metadata som konkrete eksempler på hvordan man arbeider med arrayer.

Du vil lære forskjellen mellom en indeksert array og assosiativ array, samt hvordan du får mening om flerdimensjonale arrayer.

Hva er Post Meta Data?

Den mest tekniske definisjonen av post-metadata er all informasjon som er lagret i wp_postmeta bord. Som standard er det ikke mye, men når et plugin eller et tema legger til et egendefinert felt, blir dataene som er angitt i feltet, lagret i wp_postmeta bord.

Et godt eksempel er SEO-feltene som et SEO-plugin legger til. For eksempel, tenk på en innleggsmetabeskrivelse. Det feltet er lagret i postmetabordet.

I tillegg kan brukerprofiler i WordPress utvides med egendefinerte felt. I et forhold som speiler wp_posts og wp_postmeta, disse feltene er lagret i wp_usermeta bord - ikke den wp_user bord.

I denne serien diskuterer vi ikke hvordan du legger til egendefinerte felt i WordPress - det er helt eget emne. Egendefinerte felt kan legges til i postredigeringsprogrammet med meta-boksen "Egendefinerte felt", ved å implementere dem direkte i et plugin eller tema, eller ved å bruke et spesialisert rammeverk som Pods eller Advanced Custom Fields.

Teknisk sett er post-metadata all informasjon som er lagret i wp_postmeta bord. Som vi tidligere har nevnt, er et godt eksempel på postmetadata meta-beskrivelsesfeltet som introduseres gjennom plugins som WordPress SEO.

Metoder for å få metadata

Bruke get_post_meta ()

WordPress gir oss en rekke måter å få metadata til et innlegg.

Vi kan bare få ett felt ved hjelp av get_post_meta () ved å angi dette feltet. For eksempel, for å få et felt kalt "foo" fra det nåværende innlegget i løkken vi kunne gjøre get_post_meta (get_the_id (), 'foo', true);.

Legg merke til at vi satte det siste argumentet til ekte. Dette argumentet kalles "single" bestemmer om vi ønsker en enkelt verdi eller en rekke verdier tilbake. Hvis vi ønsket, kunne vi få alle verdier for innlegget i en variabel, eller alle verdier fra feltet.

Bruke WP_Query

Noen ganger ønsker vi å bygge en hel sløyfe rundt en metadata, og dette er hvor WP_Query er veldig nyttig. WP_Query tillater oss å gjøre det som kalles "meta query" der vi spørre innleggene basert på ett eller flere metafelt og returnere innleggene som har verdier som samsvarer med en bestemt verdi. Resultatet er en samling som vi kan løse.

For eksempel, tenk at vi har et felt som heter "forfatternavn" og vi ønsket å returnere hvert innlegg der feltet AUTHOR_NAME hadde verdien verdi 'J.R.R. Tolkien'. WP_Query lar oss gjøre dette enkelt - vi vil se på dette i dybden i fjerde del av denne serien.

Innlegg er ikke alle!

Innlegg er ikke den eneste typen data som har metadata. For eksempel kjenner du alle feltene som er tilgjengelige i brukerprofilen? De er alle meta felt, i stedet for å bli lagret i wp_postmeta bord, de er lagret i wp_usermeta bord.

Som et resultat har vi spesielle funksjoner og klasser for bruker meta informasjon. Funksjonene get_user_meta () og get_author_meta () er tilsvarende for å få postmeta for brukere. WP_Query har også egne brukere tilsvarende - WP_User_Query.

Objekter Versus Arrays

Når du bruker funksjoner som get_post_meta () å returnere mer enn ett felt, vil du sannsynligvis få det som kalles et flerdimensjonalt utvalg. Et flerdimensjonalt array er også kjent som en rekke arrays. Hvert array innenfor det flerdimensjonale arrayet kan være et flerdimensjonalt utvalg.

Lyd forvirrende? Ikke bekymre deg! I denne serien skal vi dekke hvordan man leser flerdimensjonale arrays for å "bore ned" til indeksen du trenger.

Endelig - som vi tidligere nevnte - en annen metode for å få informasjon om et innlegg er å bruke WP_Query. Når du bruker WP_Query klassen du bruker det som kalles objektorientert PHP, og det du returnerer er annerledes enn en matrise - det er et objekt.

På noen måter er objekter lik arrays fordi de kan inneholde informasjonskilder. Men med et objekt kan du bruke noen av funksjonene som er tilgjengelige på klassen. Dette betyr at vi ikke bare kan bruke et WP_Query-objekt for å returnere en verdi for et metafelt, men vi kan også bruke sine interne metoder, hvorav de vanligste er posten().

Neste…

På dette tidspunktet har vi undersøkt de ulike typer metadata, hvordan de lagres, hvordan de kan representeres, og hvordan de skal hentes.

Når vi fortsetter med denne serien, tar vi en mye dypere titt på hvert aspekt av metadatabordene, tilhørende APIer, og hvordan vi kan utnytte dem til å introdusere funksjonalitet og fleksibilitet i våre prosjekter.