WordPressi REST API kiirjuhend

 WordPressi REST API kiirjuhend

Patrick Harvey

Veeb on viimase kümnendi jooksul üsna palju kasvanud ja WordPress on pisut maha jäänud. Üha rohkem rakendusi tuuakse veebi JavaScriptiga ja üha rohkem dünaamilisi veebilehti ehitatakse selliste keelte nagu Python ja Ruby abil.

WordPressi tuumiku arendajad ja isegi mõned professionaalsed WordPressi arendajad leiavad, et WordPressi tugev tuginemine PHP-le ja minimaalne JavaScripti kasutamine on muutunud liiga aegunuks. See on midagi, mida WordPressi REST API on mõeldud lahendama.

See ei tähenda, et WordPress eemaldub PHP-st, kuid see tähendab, et arendajad peaksid kaaluma JavaScript'i õppimist, kui nad tahavad kasutada selle API eeliseid.

Mis on WordPressi REST API?

REST API ei ole uus kontseptsioon. 2000. aastal defineeris Roy Fielding mõiste "representational state transfer", kui ta kasutas seda HTTP 1.1 ja Uniform Resource Identifiers, paremini tuntud kui "URI-d", kavandamisel.

Te ilmselt juba teate, et APId on tarkvararakenduste struktuur, mis sisaldab vahendite ja protokollide kogumeid, mida arendajad saavad kasutada nende rakenduste loomiseks. REST API on sellega sarnane, välja arvatud see, et see täidab oma päringuid ja saab oma vastuseid HTTP-protokolli kaudu.

Vaata ka: Kuidas kirjutada kiiremini: 10 lihtsat nõuannet, et 2x oma kirjutamise väljundit suurendada

Tavalised APId kasutavad rakenduste loomiseks tavaliselt PHP, Python ja Ruby. Võite kasutada ka teisi keeli, kuid need on kõige populaarsemad. REST APId teevad HTTP-protokolli kasutamise kaudu lihtsamaks teiste programmeerimiskeelte, näiteks JavaScripti kasutamise.

WordPress REST API

Ma olen juba selgitanud, kuidas WordPressi REST API on pigem WordPressi viimine lähemale sellele, kus on ülejäänud veeb, ja vähem PHP-st eemaldumine. See on arendajate jaoks selliste keelte nagu JSON ja JavaScript kasutamise lihtsustamine, nii et WordPressist saaks täieõiguslik platvorm, mida saab kasutada palju enamat kui traditsiooniliste veebisaitide ja blogide ehitamiseks.

Siin on WordPressi selgitus JSONi lisamise kohta WordPressi REST API-sse:

WordPressi REST API pakub WordPressi andmetüüpide API-punkte, mis võimaldavad arendajatel suhelda saitidega eemalt, saates ja saates JSON (JavaScript Object Notation) objekte. JSON on avatud standardiga andmeformaat, mis on kerge ja inimloetav ning näeb välja nagu objektid JavaScriptis; sellest ka nimi. Kui saadate API-le sisu või esitate taotluse, siis vastusSee võimaldab arendajatel luua, lugeda ja uuendada WordPressi sisu kliendipoolsest JavaScriptist või välistest rakendustest, isegi kui need on kirjutatud muudes keeltes kui PHP.

See on sisuliselt loodud selleks, et ületada lõhet PHP WordPressi tuuma ja JavaScripti vahel, mida paljud veebirakendused tänapäeval kasutavad. WordPressi REST API infrastruktuur lisati WordPressi tuumale versioonis 4.4 (koodnimi "Clifford") 2015. aasta detsembris. REST API kasutamiseks oli toona vaja pluginat. Kuid ülejäänud osa sellest API-st, täpsemalt sisu lõpp-punktid, lisandusidWordPressi tuum versioonis 4.7 (koodnimi "Vaughan") 2016. aasta detsembris, mis välistab WP REST API plugina vajaduse.

Kuidas WordPressi REST API töötab

Selleks, et mõista, kuidas WordPressi REST API töötab, peate mõistma, kuidas HTTP päringud ja vastused toimivad. Kui sisestate brauseri aadressiribale URL-i, on see päring. Kui server kuvab selle URL-i veebisaidi või rakenduse, on see vastus.

Vaata ka: Kuidas valida oma blogi jaoks nišši 2023. aastal

Kui hakkate kasutama WordPressi REST API-d. Siin on neli peamist HTTP-meetodit, mida veebis kasutatakse:

  • GET - Kasutatakse andmete hankimiseks serverist
  • POST - Kasutatakse andmete saatmiseks serverisse
  • PUT - Kasutatakse andmete muutmiseks või uuendamiseks serveris
  • DELETE - Kasutatakse andmete eemaldamiseks serverist

Nende lihtsate määratluste puhul on URL-i sisestamine brauseris GET päring. Veebilehe sisselogimise andmete sisestamine on POST päring. Praeguse parooli muutmine uueks on PUT päring, konto lõpetamine on DELETE päring.

Täiendavad terminid, mida märkate, on "marsruute" ja "lõpp-punkte". Marsruut on tavaliselt URL või osa URL-ist, millele püüate ligi pääseda, samas kui lõpp-punkt on tavaliselt vastus, mille saate serverilt.

Kui välised allikad saadavad teie WordPressi saiti haldavale serverile HTTP-päringuid, avaldab REST API teie andmed turvaliselt, vastates nendele päringutele ühise arhitektuuri ja oma protokollide kogumiga.

See võimaldab WordPressi sisu, näiteks postitusi, lehekülgi ja kommentaare, töödelda toorandmetena. Sellest saame kohe ülevaate. Selle üldine mõte on võimaldada teil teha muudatusi oma saidi sisus ilma WordPressi administreerimisalale pääsemata. Nii saate teha muudatusi oma saidil, kasutades JSONi, mille vastused annavad arendajatele mitmeid erinevaid võimalusi interaktsiooniks.oma saitidega.

Võtame oma käed pisut määrdunud, et näha, kuidas see kõik toimib.

WordPressi REST API kasutamine

Me hakkame tegelema sellega, kuidas tegelikult kasutada WordPressi REST API, kuid kahjuks on mõned põhimõisted, mida peame kõigepealt läbi käima, et kõik oleks mõistlik. Siin on põhimõisted, millest see API koosneb:

  • Marsruudid & lõpp-punktid
  • Taotlused
  • Vastused
  • Skeem
  • Kontrolleri klassid

Läheme asja juurde.

Marsruudid & lõpp-punktid

Marsruudi tehniline määratlus on URL, mida saab kaardistada erinevate HTTP-meetodite kaudu. Marsruudi ja HTTP-meetodi vahelist kaardistamist nimetatakse "lõpp-punktiks". Saate WordPressi REST API-le ligi ja näha, millised marsruudid ja lõpp-punktid on teie saidi jaoks saadaval, lisades marsruudi "/wp-json/" oma URL-i lõppu.

Seda saab näha WordPress.org-i leheküljel //www.wordpress.org/wp-json/:

Paigaldage laiendus nimega JSON Viewer for Chrome (JSON viewer for Firefox on saadaval siin), et seda segadust puhastada:

Kui te ei kasuta ilusaid permalinkke, kasutage "?rest_route=" asemel "wp-json". Nii või teisiti, see, mida te siin näete, on näide marsruudi ja lõpp-punkti kohta. "/wp-json/" ja "/?rest_route=/" on marsruudid. Need võimaldavad teil pääseda WordPressi REST API-le ligi GET HTTP meetodi kaudu. WordPressi REST API, mida teile näidatakse, või kui soovite, siis andmed, on lõpp-punkt, mida meile JSON vastuse kaudu serveeritakse.

Taotlused

WordPressi REST API töötleb päringuid klassiga WP_REST_Request. See on WordPressi REST API infrastruktuuri peamine klass. Seda kasutatakse kõikide päringute kohta teabe salvestamiseks ja kättesaamiseks.

Võite saata päringuid eemalt, kasutades HTTP-meetodeid, mida me käsitlesime, või võite neid teha sisemiselt, nagu te tavaliselt teeksite seda PHP kaudu.

Vastused

Vastuseid töödeldakse klassiga WP_REST_Response. Vastus on andmed, mis saadakse päringust, nagu eespool öeldud. API kasutab seda klassi lõpp-punktidest saadetud andmete tagastamiseks. Samuti võib see tagastada vigu.

Skeem

Skeem on WordPressi REST API sees olev mõiste, mis täidab erinevaid eesmärke. API skeem määratleb andmestruktuurid, mida lõpp-punktid saavad kasutada, ja see sisaldab loetelu omadustest, mida WordPressi REST API saab tagastada. Samuti sisaldab see parameetreid, mida API saab vastu võtta, ja tagab turvalisuse, valideerides API-le esitatud päringuid.

Kontrolleri klassid

WordPressi REST API registreerib marsruute ja lõpp-punkte, käitleb päringuid, kasutab skeemi, et määratleda andmeid ja omadusi, mida ta saab kasutada, ning genereerib API vastuseid kõige selle peal. API ja sina kui arendaja vajad viisi, kuidas hallata kõiki neid liikuvaid osi. Selleks ongi kontrollerklassid. Need võimaldavad sul koguda kõik need elemendid kokku ja korraldada neid ühte kohta.

WordPressi REST API kasutamine, et pääseda oma sisule ligi lõpp-punktide kaudu

Marsruut on URL, mida kasutate lõpp-punktile juurdepääsuks, ja lõpp-punkt on vastus, mille saate serverilt. Kui soovite oma saidi postitusi WordPressi REST API kaudu saada, kasutage marsruuti "/wp/v2/posts/". WordPress selgitab, et "/wp-json/" ei kuulu nende pikemate marsruutide hulka, sest see on "API enda baas-postituse tee." Lõpp-URL on "example.com/wp-json/wp/v2/posts".

Kui soovite API kaudu pääseda ligi konkreetsele postitusele, lisage lihtsalt postituse ID URL-i lõppu, nii et see näeb välja selline: "example.com/wp-json/wp/v2/posts/123"

Kui soovite otsida postitusi, mis kasutavad kindlat fraasi või märksõna, kasutage seda marsruuti: "/wp/v2/posts?=search[ sisesta siia märksõna ]", nii et URL näeb välja selline: "example.com/wp-json/wp/v2/posts?search[ sisesta siia märksõna ].

Kui soovite API kaudu pääseda ligi konkreetse kasutaja profiilile, lisage marsruudile "/users/" ja selle kasutaja ID. URL näeb välja järgmiselt: "example.com/wp-json/wp/v2/users/2". Samamoodi, kui soovite pääseda ligi saidi kasutajatele, jätke ID välja, nii et URL näeb välja järgmiselt: "example.com/wp-json/wp/v2/users/".

Rohkem lõpp-punkte saate vaadata siin.

REST API laiendamine

Me jätame mõned sammud vahele ja õpime, kuidas kasutada REST API omadusi selle laiendamiseks. Enne seda peaksite õppima selliseid asju nagu globaalsed parameetrid, lehekülgede liigendamine, linkimine ja manustamine ning autentimine, kuid selle kiirjuhendi jaoks jätame selle vahele.

Siin on mõned asjad, mida saate REST API laiendamisega saavutada:

  • Kohandatud lõpp-punktide lisamine
  • Loo marsruute kohandatud postitustüüpide ja kohandatud taksonoomiate jaoks
  • Vastuste muutmine

Kui olete kogenud arendaja, olete tõenäoliselt juba tuttav mõistetega, mis on vajalikud kohandatud lõpp-punkti lisamiseks REST API-le. Tuleb lihtsalt õppida, kuidas neid kahte ühendada.

Alustad funktsiooni loomisega, mis võib olla lihtne või keeruline, sõltuvalt sellest, kui keerulist funktsionaalsust sa üritad REST API-le lisada. Siin on lihtne funktsioon, mida WordPress pakub oma käsiraamatus, funktsioon, mis on mõeldud saidi viimaste postituste pealkirjade haaramiseks autori järgi:

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

Pärast seda tuleb registreerida marsruut, et muuta see funktsioon API-le kättesaadavaks, kasutades selleks teist funktsiooni nimega register_rest_route. Siin on funktsioon, mida WordPress kasutab eelmise funktsiooni marsruudi registreerimiseks:

 php add_action( 'rest_api_init', function () { register_rest_route( 'myplugin/v1', '/author/(?P\d+)', array( 'methods' = 'GET', 'callback' => 'my_awesome_func', ) ); } ); 

Siin toimub paar asja. Esiteks, selle funktsiooni kaudu läbib kolm omadust. Need on nimeruum ("myplugin/v1"), marsruut, mida peame registreerima ("my_awesome_func") ja valikud, mida soovime kasutada ("author/(?P\d+)"). Funktsiooni register_rest_route kutsutakse ka callback-funktsioonile nimega "rest_api_init". See vähendab ebavajalikku töödmis toimub siis, kui API-d ei kasutata.

Nagu WordPress selgitab, on see marsruut mõeldud sobima kõigega, mille aadressiks on "/author/{id}", kus "{id}" on täisarv. See on URL, mida te külastaksite, et kasutada seda marsruuti - //example.com/wp-json/myplugin/v1/author/(?P\d+) See konkreetne marsruut kasutab ühte lõpp-punkti, kuid marsruutidel võib olla mitu lõpp-punkti. Näete, et me määratlesime ka HTTP-meetodi, mida see lõpp-punkt kasutab.

Muud vajalikud mõisted

On mõned täiendavad mõisted, mida peate õppima, kui soovite REST API-d laiendada, eeldusel, et te ei ole nendega juba tuttav. Me kasutasime ülaltoodud funktsioonis nimeruumi, mistõttu ülaltoodud URL-i esimene osa on "myplugin/v1". Neid kasutatakse eesliidetena, et vältida kokkupõrkeid kohandatud marsruutidega.

Argumendid on veel üks mõiste, mida peaksite tundma, kuna need võimaldavad teil teostada puhastamist ja valideerimist, registreerides neid marsruutide registreerimisel. Samuti peaksite tutvuma tagastusväärtustega, kuna nende abil saate määrata, millist tüüpi vastuse saate serverilt. Neid saate kasutada isegi vigade tagastamiseks, näiteks 404-viga, mis kuvatakse, kui autor ei ole saanudavaldanud ühtegi ametikohta.

Tagasikutsumine on veel üks mõiste, mida peaksite tundma, näiteks funktsioonid, mida tuntakse kui õiguste tagasikutsumist, mis kontrollivad, kas kasutajal on võimalik sooritada mingi tegevus või mitte, enne kui funktsioon püüab kutsuda tegelikku tagasikutsumist. Lõpuks, siseklasside ja kontrollerite mustrite tundmaõppimine aitab teil hallata kõiki loodud lõpp-punktide aspekte.

Lõplikud mõtted & kuidas edasi minna

WordPressi REST API põhimõistete mõistmine ja selle kasutamise ja laiendamise õppimine võib olla üle jõu käiv, kuid WordPressi tegijad on üsna kindlad, et see on CMS-i jõud, mida ta vajab, et kasvada kaugemale oma võimetest kui lihtsate veebisaitide ja blogide ehitamise platvorm.

JavaScript'i õppimine peaks olema praegu esmatähtis, nagu öeldud, sest see on keel, mida WordPressi tegijad tahavad, et arendajad kasutaksid WordPressi projektides sagedamini.

Samuti peaksite tutvuma WordPressi REST API käsiraamatuga, et paremini mõista WordPressi REST API käsitlust. REST API kasutamine sisaldab juhiseid globaalsete parameetrite kasutamise, lehekülgede loomise, manustamise ja linkimise ning autentimise kohta, mis on kõik selle API võtmemõisted.

Kui olete saanud kõigest sellest päris hea ülevaate, saate läbida REST API laiendamise jaotise, et õppida, kuidas API-d põhjalikult laiendada. Saate rohkem teada kohandatud lõpp-punktide lisamisest ja saate ka teada, kuidas kasutada kohandatud sisutüüpe ja muuta vastuseid.

Patrick Harvey

Patrick Harvey on kogenud kirjanik ja digitaalturundaja, kellel on selles valdkonnas üle 10-aastane kogemus. Tal on laialdased teadmised erinevatest teemadest, nagu ajaveebi pidamine, sotsiaalmeedia, pood ja WordPress. Tema kirg kirjutada ja aidata inimestel veebis edu saavutada on ajendanud teda looma sisukaid ja kaasahaaravaid postitusi, mis pakuvad tema vaatajaskonnale väärtust. Vilunud WordPressi kasutajana tunneb Patrick edukate veebisaitide loomise läbi ja lõhki ning ta kasutab neid teadmisi, et aidata nii ettevõtetel kui ka üksikisikutel oma veebis kohalolu luua. Olles tähelepanelik detailidele ja vankumatult pühendunud tipptasemele, on Patrick pühendunud oma lugejatele digitaalse turunduse valdkonna uusimate trendide ja nõuannete pakkumisele. Kui ta blogi ei pea, võib Patricku leida uusi kohti uurimas, raamatuid lugemas või korvpalli mängimas.