En hurtigstartguide til WordPress REST API

 En hurtigstartguide til WordPress REST API

Patrick Harvey

Nettet har vokst ganske mye i løpet av det siste tiåret, og WordPress har falt litt etter. Flere og flere applikasjoner blir brakt til nettet med JavaScript, og flere og flere dynamiske nettsteder bygges med språk som Python og Ruby.

Utviklerne av WordPress-kjerne, og til og med noen få profesjonelle WordPress-utviklere, føler at WordPress sin store avhengighet av PHP og minimal bruk av JavaScript har blitt alt for utdatert. Dette er noe WordPress REST API er ment å løse.

Dette betyr ikke at WordPress beveger seg bort fra PHP, men det betyr at utviklere bør vurdere å lære seg JavaScript hvis de vil dra nytte av det denne APIen har å tilby.

Hva er WordPress REST API?

REST API er ikke et nytt konsept. Faktisk definerte Roy Fielding begrepet «representational state transfer» i år 2000 da han brukte det til å designe HTTP 1.1 og Uniform Resource Identifiers, bedre kjent som «URIs».

Du vet sikkert allerede at APIer er strukturen til programvareapplikasjoner som inneholder sett med verktøy og protokoller utviklere kan bruke til å bygge disse applikasjonene. REST API er lik det, bortsett fra at det utfører sine forespørsler og mottar svar gjennom HTTP-protokollen.

Vanlige APIer bruker vanligvis PHP, Python og Ruby for å bygge applikasjoner. Du kan bruke andre språk, men disse er de mest populære. REST APIer, gjennomenkle nettsteder og blogger.

Å lære JavaScript bør være en topp prioritet akkurat nå, som nevnt før, siden dette er språket skaperne av WordPress ønsker at utviklere skal innlemme oftere i WordPress-prosjekter.

Du bør også gå gjennom WordPress REST API-håndboken for å få en bedre forståelse av WordPress' oppfatning av REST API. Bruk av REST API-delen inneholder veiledninger for hvordan du bruker globale parametere, paginering, innebygging og koblinger og autentisering, som alle er nøkkelbegreper i denne API-en.

Når du har fått en ganske god forståelse av alt av det kan du gå gjennom delen Utvide REST API for å lære hvordan du utvider API i dybden. Du lærer mer om å legge til egendefinerte endepunkter og lærer også hvordan du bruker tilpassede innholdstyper og endrer svar.

bruk av HTTP-protokoll, gjør det enklere å bruke andre programmeringsspråk, som JavaScript.

WordPress REST API

Jeg har allerede forklart hvordan WordPress REST API handler mer om å flytte WordPress nærmere hvor resten av nettet er og mindre om å gå bort fra PHP. Det handler om å gjøre det enklere for utviklere å bruke språk som JSON og JavaScript, slik at WordPress kan bli en fullverdig plattform som kan brukes til å bygge mye mer enn tradisjonelle nettsteder og blogger.

Her er WordPress sin forklaring på inkorporering av JSON i WordPress REST API:

Se også: Hvordan øke engasjementet på bloggen din (så det ikke ser ut som en spøkelsesby)

WordPress REST API gir API-endepunkter for WordPress-datatyper som lar utviklere kommunisere med nettsteder eksternt ved å sende og motta JSON-objekter (JavaScript Object Notation). JSON er et åpent standard dataformat som er lett og lesbart for mennesker, og ser ut som objekter i JavaScript; derav navnet. Når du sender innhold til eller sender en forespørsel til API, vil svaret bli returnert i JSON. Dette gjør det mulig for utviklere å lage, lese og oppdatere WordPress-innhold fra JavaScript på klientsiden eller fra eksterne applikasjoner, selv de som er skrevet på språk utover PHP.

Det er i hovedsak designet for å bygge bro mellom PHP WordPress-kjernen er bygget på og JavaScript mange nettapplikasjoner bruker i dag. Infrastrukturen for WordPress REST API ble lagt til WordPress-kjernei versjon 4.4 (kodenavn «Clifford») i desember 2015. Du trengte en plugin for å bruke REST API på det tidspunktet. Resten av denne API-en, innholdsendepunktene for å være nøyaktig, ble imidlertid lagt til WordPress-kjernen i versjon 4.7 (kodenavnet «Vaughan») i desember 2016, noe som eliminerte behovet for WP REST API-plugin.

Hvordan WordPress REST API fungerer

For å forstå hvordan WordPress REST API fungerer, må du forstå hvordan HTTP-forespørsler og svar fungerer. Når du skriver inn en URL i adressefeltet til en nettleser, er det en forespørsel. Når serveren viser nettstedet eller applikasjonen for den nettadressen, er det et svar.

Du vil se noen forskjellige typer forespørsler eller "HTTP-metoder" når du begynner å bruke WordPress REST API. Her er de fire hovedtypene HTTP-metoder nettet bruker:

  • GET – Brukes til å hente data fra serveren
  • POST – Brukes til å sende data til serveren
  • PUT – Brukes til å endre eller oppdatere data på serveren
  • DELETE – Brukes til å fjerne data fra serveren

Med disse enkle definisjonene i tankene, er det å skrive inn en URL i en nettleser en GET-forespørsel. Å angi påloggingsinformasjonen for et nettsted er en POST-forespørsel. Å endre ditt nåværende passord til et nytt er en PUT-forespørsel, mens å avslutte kontoen din er en SLETT-forespørsel.

Ytterligere vilkår du vil legge merke til er «ruter» og «endepunkter». En rute er vanligvis URL-en elleren del av URL-en du prøver å få tilgang til mens et endepunkt vanligvis er svaret du mottar fra serveren.

Når eksterne kilder sender HTTP-forespørsler til serveren som er vert for WordPress-nettstedet ditt, avslører REST API dataene dine på en sikker måte ved å svare på disse forespørslene med en felles arkitektur og sitt eget sett med protokoller.

Dette gjør at WordPress-innhold, som innlegg, sider og kommentarer, kan behandles som rådata. Vi får et glimt av dette om et minutt. Det overordnede poenget med dette er å la deg gjøre endringer i nettstedets innhold uten å måtte få tilgang til WordPress-administrasjonsområdet. Dette er hvordan du kan gjøre endringer på nettstedet ditt ved å bruke JSON, hvis svar gir utviklere en rekke forskjellige måter å samhandle med nettstedene deres på.

La oss skitne litt på hendene for å se hvordan alt fungerer.

Bruke WordPress REST API

Vi skal komme inn på hvordan du faktisk bruker WordPress REST API, men dessverre er det noen få nøkkelbegreper vi må gå gjennom først så alt gir mening. Her er nøkkelbegrepene som utgjør dette API:

  • Ruter & Sluttpunkter
  • Forespørsler
  • Svar
  • Skjema
  • Kontrollerklasser

La oss komme til det.

Ruter & Endepunkter

Den tekniske definisjonen av en rute er en URL som kan kartlegges gjennom forskjellige HTTP-metoder. Kartleggingen mellom en rute og en HTTP-metode kalles en"endepunkt." Du kan få tilgang til WordPress REST API og se hvilke ruter og endepunkter som er tilgjengelige for nettstedet ditt ved å legge til ruten "/wp-json/" på slutten av nettadressen din.

Du kan se dette på WordPress.org ved å gå til //www.wordpress.org/wp-json/:

Installer en utvidelse kalt JSON Viewer for Chrome (JSON viewer for Firefox tilgjengelig her) for å rydde opp i dette rotet:

Hvis du ikke bruker pene permalinker, bruk “?rest_route=” i stedet for “wp-json”. Uansett, det du ser her er et eksempel på en rute og et endepunkt. “/wp-json/” og “/?rest_route=/” er ruter. De lar deg få tilgang til WordPress REST API gjennom GET HTTP-metoden. WordPress REST API som vises til deg, eller dataene om du vil, er et endepunkt som serveres til oss via et JSON-svar.

Forespørsler

WordPress REST API behandler forespørsler med en klasse kalt WP_REST_Request . Det er en primærklasse i WordPress REST API-infrastrukturen. Den brukes til å lagre og hente informasjon for alle forespørslene du gjør.

Du kan sende forespørsler eksternt ved å bruke HTTP-metodene vi gikk over, eller du kan gjøre dem internt som du normalt ville gjort via PHP.

Svar

Svar behandles med WP_REST_Response-klassen. Et svar er dataene du mottar fra en forespørsel, som nevnt tidligere. API-en bruker denne klassen til å returnere data sendt fra endepunkter. Den kan også komme tilbakefeil.

Skjema

Skjema er et konsept inne i WordPress REST API som tjener en rekke formål. API-skjema definerer datastrukturene endepunkter kan bruke, og det inneholder en liste over egenskapene WordPress REST API kan returnere. Den inneholder også parametrene APIen kan akseptere og gir sikkerhet for den ved å validere forespørslene APIen mottar.

Kontrollerklasser

WordPress REST API registrerer ruter og endepunkter, håndterer forespørsler, bruker Schema for å definere dataene og egenskapene den kan bruke, og genererer API-svar på toppen av alt dette. APIen, og du som utvikler, trenger en måte å administrere alle disse bevegelige delene på. Det er det kontrollerklasser er til for. De lar deg samle alle disse elementene og organisere dem på ett enkelt sted.

Bruk av WordPress REST API for å få tilgang til innholdet ditt gjennom endepunkter

En rute er URL-en du bruker for å få tilgang til en endepunkt, og et endepunkt er svaret du mottar fra serveren. Hvis du ønsker å få nettstedets innlegg gjennom WordPress REST API, bruk ruten "/wp/v2/posts/". WordPress forklarer at "/wp-json/" ikke er inkludert i disse lengre rutene fordi det er "basebanen for selve APIen." Slutt-URLen er «example.com/wp-json/wp/v2/posts».

Hvis du vil ha tilgang til et spesifikt innlegg gjennom API-en, legger du ganske enkelt til innleggets ID på slutten av URL-en slik at det ser slik ut:“example.com/wp-json/wp/v2/posts/123”

Hvis du vil søke etter innlegg som bruker en bestemt setning eller et spesifikt nøkkelord, bruk denne ruten: “/wp/v2/posts? =søk[ sett inn søkeord her ]” slik at nettadressen ser slik ut: “example.com/wp-json/wp/v2/posts?search[ sett inn søkeord her ].

Hvis du ønsker å få tilgang til en spesifikk brukers profil gjennom APIen, legg til "/users/" til ruten samt brukerens bruker-ID. Nettadressen ser slik ut: «example.com/wp-json/wp/v2/users/2». På samme måte, hvis du ønsker å få tilgang til et nettsteds brukere, slipp ID-en slik at URL-en ser slik ut: «example.com/wp-json/wp/v2/users/».

Du kan se flere endepunkter her .

Utvidelse av REST API

Vi skal hoppe over noen få trinn og lære hvordan du bruker egenskapene til REST API for å utvide den. Du bør lære om ting som globale parametere, paginering, kobling og innebygging, og autentisering før du gjør dette, men vi kommer til å hoppe videre i denne hurtigstartveiledningen.

Her er noen få ting du kan oppnå ved å utvide REST API:

  • Legg til tilpassede endepunkter
  • Opprett ruter for tilpassede innleggstyper og tilpassede taksonomier
  • Endre svar

Hvis du er en erfaren utvikler, er du sannsynligvis allerede kjent med konseptene som kreves for å legge til et tilpasset endepunkt til REST API. Det er bare et spørsmål om å lære å koble de to.

Se også: 7 beste gratis RSS-feedlesere (2023-utgaven)

Du starter med å lage en funksjonsom kan være enkelt eller komplisert avhengig av sofistikeringen av funksjonaliteten du prøver å legge til REST API. Her er den enkle funksjonen WordPress gir i håndboken deres, en funksjon designet for å fange titlene på nettstedets siste innlegg av forfatteren:

 $data['id'], ) ); if ( empty( $posts ) ) { return null; } return $posts[0]->post_title; } 

Etter det må du registrere en rute for å gjøre denne funksjonen tilgjengelig for API ved å bruke en annen funksjon kalt register_rest_route. Her er funksjonen WordPress bruker for å registrere ruten for den forrige funksjonen:

 'GET', 'callback' => 'my_awesome_func', ) ); } );

Det er et par ting som skjer her. For det første er det tre egenskaper som går gjennom denne funksjonen. De er navneområdet ("myplugin/v1"), ruten vi må registrere ("my_awesome_func") og alternativene vi vil bruke ("author/(?P\d+)"). Register_rest_route-funksjonen kalles også på en tilbakeringingsfunksjon kalt "rest_api_init". Dette reduserer mengden unødvendig arbeid som utføres når API-en ikke brukes.

Som WordPress forklarer, er denne ruten designet for å matche alt med «/author/{id}» der «{id} }” er et heltall. Dette er nettadressen du vil besøke for å bruke denne ruten – //example.com/wp-json/myplugin/v1/author/(?P\d+) . Denne spesifikke ruten bruker ett endepunkt, men ruter kan ha flere endepunkter. Du kan se at vi også definerte HTTP-metoden dette endepunktet ville bruke.

Andre konsepter du trenger

Det er noen fåflere konsepter du må lære hvis du vil utvide REST API, forutsatt at du ikke allerede er kjent med dem. Vi brukte et navneområde i funksjonen ovenfor, og det er grunnen til at den første delen av URL-en ovenfor er "myplugin/v1". De brukes som prefikser for å forhindre sammenstøt med egendefinerte ruter.

Argumenter er et annet konsept du bør kjenne til ettersom de lar deg kjøre sanitisering og validering ved å registrere dem når du registrerer ruter. Du bør også gjøre deg kjent med returverdier siden dette er hva du vil bruke for å definere typen svar du mottar fra serveren. Du kan til og med bruke dem til å returnere feil, for eksempel en 404-feil som vises hvis en forfatter ikke har publisert noen innlegg.

Callbacks er et annet konsept du bør kjenne til, for eksempel funksjoner som kalles permission callbacks som sjekker om eller ikke er en bruker i stand til å utføre en handling før funksjonen forsøker å kalle tilbake den faktiske tilbakeringingen. Til slutt, å gjøre deg kjent med interne klasser og kontrollermønstre vil hjelpe deg med å administrere alle aspekter av endepunktene du oppretter.

Siste tanker & hvor du skal gå herfra

Å forstå nøkkelkonseptene til WordPress REST API og lære å bruke og utvide det kan være overveldende, men skaperne av WordPress er ganske sikre på at det vil være kraften CMS på måter den må vokse langt utover evnen som en plattform å bygge

?>

Patrick Harvey

Patrick Harvey er en erfaren forfatter og digital markedsfører med over 10 års erfaring i bransjen. Han har stor kunnskap om ulike emner som blogging, sosiale medier, e-handel og WordPress. Hans lidenskap for å skrive og hjelpe folk til å lykkes på nettet har drevet ham til å lage innsiktsfulle og engasjerende innlegg som gir verdi til publikum. Som en dyktig WordPress-bruker er Patrick kjent med alle detaljer ved å bygge vellykkede nettsteder, og han bruker denne kunnskapen til å hjelpe bedrifter og enkeltpersoner med å etablere sin online tilstedeværelse. Med et skarpt øye for detaljer og en urokkelig forpliktelse til fortreffelighet, er Patrick dedikert til å gi sine lesere de siste trendene og rådene innen den digitale markedsføringsindustrien. Når han ikke blogger, kan Patrick bli funnet på å utforske nye steder, lese bøker eller spille basketball.