Seuraava artikkeli auttaa sinua: Pika-aloitusopas WordPress REST API:lle
Verkko on kasvanut melkoisesti viimeisen vuosikymmenen aikana, ja WordPress on jäänyt aina niin vähän jälkeen. Yhä enemmän sovelluksia tuodaan verkkoon JavaScriptillä, ja yhä enemmän dynaamisempia verkkosivustoja rakennetaan kielillä, kuten Python ja Ruby.
WordPress-ytimen kehittäjät ja jopa muutamat ammattimaiset WordPress-kehittäjät ovat sitä mieltä, että WordPressin vahva riippuvuus PHP:stä ja JavaScriptin vähäinen käyttö on tullut aivan liian vanhentuneeksi. Tämä on asia, jonka WordPress REST API on tarkoitettu ratkaisemaan.
Tämä ei tarkoita, että WordPress siirtyisi pois PHP:stä, mutta se tarkoittaa, että kehittäjien tulisi harkita JavaScriptin oppimista, jos he haluavat hyödyntää tämän API:n tarjoamia ominaisuuksia.
Mikä on WordPress REST API?
REST API ei ole uusi konsepti. Itse asiassa Roy Fielding määritteli termin “representational state transfer” vuonna 2000, kun hän käytti sitä HTTP 1.1:n ja yhtenäisten resurssitunnisteiden, paremmin tunnettujen “URI:iden” suunnitteluun.
Tiedät luultavasti jo, että API:t ovat ohjelmistosovellusten rakenne, joka sisältää työkaluja ja protokollia, joita kehittäjät voivat käyttää kyseisten sovellusten rakentamiseen. REST API on samanlainen kuin se, paitsi että se suorittaa pyyntönsä ja vastaanottaa vastauksensa HTTP-protokollan kautta.
Tavalliset API:t käyttävät tyypillisesti PHP:tä, Pythonia ja Rubyä sovellusten rakentamiseen. Voit käyttää muita kieliä, mutta nämä ovat suosituimpia. REST API:t helpottavat HTTP-protokollan avulla muiden ohjelmointikielten, kuten JavaScriptin, käyttöä.
WordPress REST API
Olen jo selittänyt, kuinka WordPress REST API tarkoittaa enemmän WordPressin siirtämistä lähemmäksi sitä, missä muu verkko on, eikä vähemmän PHP:stä siirtymistä pois. Kyse on siitä, että kehittäjien on helpompi käyttää JSONin ja JavaScriptin kaltaisia kieliä, jotta WordPressistä voi tulla täysimittainen alusta, jota voidaan käyttää paljon enemmän kuin perinteisten verkkosivustojen ja blogien luomiseen.
Tässä on WordPressin selitys JSON:n sisällyttämisestä WordPress REST API:iin:
Se on pohjimmiltaan suunniteltu kuromaan umpeen kuilu PHP WordPress -ytimen ja monien verkkosovellusten käyttämän JavaScriptin välillä. WordPress REST API:n infrastruktuuri lisättiin WordPressin ytimeen versiossa 4.4 (koodinimi “Clifford”) joulukuussa 2015. REST API:n käyttämiseen tarvitsit tuolloin lisäosan. Loput tästä API:sta, tarkalleen ottaen sisällön päätepisteet, lisättiin kuitenkin WordPress-ytimeen versiossa 4.7 (koodinimi “Vaughan”) joulukuussa 2016, mikä poisti tarpeen WP REST API kytkeä.
Kuinka WordPress REST API toimii
Ymmärtääksesi, miten WordPress REST API toimii, sinun on ymmärrettävä, miten HTTP-pyynnöt ja vastaukset toimivat. Kun kirjoitat URL-osoitteen selaimen osoitepalkkiin, se on pyyntö. Kun palvelin näyttää kyseisen URL-osoitteen verkkosivuston tai sovelluksen, se on vastaus.
Näet muutaman eri tyyppisiä pyyntöjä tai “HTTP-menetelmiä”, kun aloitat WordPress REST API:n käytön. Tässä on neljä webin käyttämää HTTP-menetelmän päätyyppiä:
- SAADA – Käytetään tietojen hakemiseen palvelimelta
- LÄHETTÄÄ – Käytetään tietojen lähettämiseen palvelimelle
- LAITTAA – Käytetään palvelimen tietojen muuttamiseen tai päivittämiseen
- POISTAA – Käytetään tietojen poistamiseen palvelimelta
Nämä yksinkertaiset määritelmät huomioon ottaen URL-osoitteen syöttäminen selaimeen on GET-pyyntö. Kirjautumistietojesi syöttäminen verkkosivustolle on POST-pyyntö. Nykyisen salasanan vaihtaminen uuteen on PUT-pyyntö, kun taas tilin lopettaminen on DELETE-pyyntö.
Muita huomioitavia termejä ovat “reitit” ja “päätepisteet”. Reitti on yleensä URL-osoite tai osa URL-osoitetta, jota yrität käyttää, kun taas päätepiste on tyypillisesti palvelimelta saamasi vastaus.
Kun ulkoiset lähteet lähettävät HTTP-pyyntöjä WordPress-sivustoasi isännöivälle palvelimelle, REST API paljastaa tietosi turvallisella tavalla vastaamalla näihin pyyntöihin yhteisellä arkkitehtuurilla ja omilla protokollillaan.
Näin WordPress-sisältöä, kuten viestejä, sivuja ja kommentteja, voidaan käsitellä raakatietona. Näemme tämän hetken kuluttua. Tämän yleisenä tarkoituksena on antaa sinun tehdä muutoksia sivustosi sisältöön ilman, että sinun tarvitsee käyttää WordPressin hallinta-aluetta. Näin voit tehdä muutoksia sivustoosi käyttämällä JSONia, jonka vastaukset antavat kehittäjille useita erilaisia tapoja olla vuorovaikutuksessa sivustojensa kanssa.
Likaistaan käsiämme nähdäksemme kuinka tämä kaikki toimii.
WordPress REST API:n käyttö
Aiomme perehtyä WordPress REST API:n todelliseen käyttöön, mutta valitettavasti meidän täytyy käydä läpi muutamia keskeisiä käsitteitä, jotta kaikki olisi järkevää. Tässä ovat tärkeimmät käsitteet, jotka muodostavat tämän API:n:
- Reitit ja päätepisteet
- Pyynnöt
- Vastaukset
- Kaavio
- Ohjainluokat
Mennään asiaan.
Reitit ja päätepisteet
Reitin tekninen määritelmä on URL-osoite, joka voidaan kartoittaa eri HTTP-menetelmillä. Reitin ja HTTP-menetelmän välistä kartoitusta kutsutaan “päätepisteeksi”. Voit käyttää WordPress REST APIa ja nähdä, mitkä reitit ja päätepisteet ovat saatavilla sivustollesi lisäämällä reitin “/wp-json/” URL-osoitteesi loppuun.
Voit nähdä tämän osoitteessa WordPress.org vierailemalla https://www.wordpress.org/wp-json/:
Asenna laajennus nimeltä JSON-katseluohjelma Chromelle (JSON-katseluohjelma Firefoxille saatavilla tässä) puhdistaaksesi tämän sotkun:
Jos et käytä kauniita pysyviä linkkejä, käytä “?rest_route=” “wp-json” sijaan. Joka tapauksessa tässä näkemäsi on esimerkki reitistä ja päätepisteestä. “/wp-json/” ja “/?rest_route=/” ovat reittejä. Niiden avulla voit käyttää WordPress REST API:ta GET HTTP -menetelmän kautta. Sinulle näytettävä WordPress REST API tai tiedot, jos haluat, on päätepiste, joka toimitetaan meille JSON-vastauksen kautta.
Pyynnöt
WordPress REST API käsittelee pyynnöt luokassa WP_REST_Request. Se on ensisijainen luokka WordPress REST API -infrastruktuurissa. Sitä käytetään kaikkien tekemiesi pyyntöjen tietojen tallentamiseen ja hakemiseen.
Voit lähettää pyyntöjä etänä käyttämällä HTTP-menetelmiä, joita käytimme, tai voit tehdä ne sisäisesti kuten tavallisesti PHP:n kautta.
Vastaukset
Vastaukset käsitellään WP_REST_Response-luokassa. Vastaus on tiedot, jotka saat pyynnöstä, kuten edellä mainittiin. API käyttää tätä luokkaa päätepisteistä lähetettyjen tietojen palauttamiseen. Se voi myös palauttaa virheitä.
Kaavio
Schema on WordPress REST API:n sisällä oleva konsepti, joka palvelee monenlaisia tarkoituksia. API-skeema määrittää tietorakenteet, joita päätepisteet voivat käyttää, ja se sisältää luettelon ominaisuuksista, jotka WordPress REST API voi palauttaa. Se sisältää myös parametrit, jotka API voi hyväksyä, ja tarjoaa sille suojauksen vahvistamalla API:n vastaanottamat pyynnöt.
Ohjainluokat
WordPress REST API rekisteröi reittejä ja päätepisteitä, käsittelee pyyntöjä, käyttää Schemaa määrittääkseen tiedot ja ominaisuudet, joita se voi käyttää, ja luo API-vastauksia kaiken tämän lisäksi. API ja sinä kehittäjänä tarvitset tavan hallita kaikkia näitä liikkuvia osia. Sitä varten ohjainkurssit ovat. Niiden avulla voit koota kaikki nämä elementit ja järjestää ne yhteen paikkaan.
WordPress REST API:n käyttäminen sisällön käyttämiseen päätepisteiden kautta
Reitti on URL-osoite, jota käytät päätepisteen käyttämiseen, ja päätepiste on palvelimelta saamasi vastaus. Jos haluat saada sivustosi viestit WordPress REST API:n kautta, käytä reittiä “/wp/v2/posts/”. WordPress selittää, että “/wp-json/” ei sisälly näihin pidempiin reitteihin, koska se on “itse sovellusliittymän peruspolku”. Pääte-URL on “example.com/wp-json/wp/v2/posts”.
Jos haluat käyttää tiettyä viestiä API:n kautta, lisää vain viestin tunnus URL-osoitteen loppuun, jotta se näyttää tältä: “example.com/wp-json/wp/v2/posts/123”
Jos haluat etsiä viestejä, joissa käytetään tiettyä lausetta tai avainsanaa, käytä tätä reittiä: “/wp/v2/posts?=search[ ]” joten URL-osoite näyttää tältä: “example.com/wp-json/wp/v2/posts?search[].
Jos haluat käyttää tietyn käyttäjän profiilia API:n kautta, lisää “/users/” reitille sekä kyseisen käyttäjän käyttäjätunnus. URL-osoite näyttää tältä: “example.com/wp-json/wp/v2/users/2”. Vastaavasti, jos haluat käyttää sivuston käyttäjiä, pudota tunnus, jotta URL-osoite näyttää tältä: “example.com/wp-json/wp/v2/users/”.
Voit tarkastella lisää päätepisteitä tässä.
REST-sovellusliittymän laajentaminen
Ohitamme muutaman vaiheen ja opimme käyttämään REST API:n ominaisuuksia sen laajentamiseen. Ennen kuin teet tämän, sinun pitäisi oppia esimerkiksi yleisistä parametreista, sivutusta, linkityksestä ja upottamisesta sekä todentamisesta, mutta siirrymme eteenpäin tämän pika-aloitusoppaan tarkoituksia varten.
Tässä on muutamia asioita, joita voit saavuttaa laajentamalla REST-sovellusliittymää:
- Lisää mukautettuja päätepisteitä
- Luo reitit mukautetuille viestityypeille ja mukautetuille taksonomioille
- Muokkaa vastauksia
Jos olet kokenut kehittäjä, olet todennäköisesti jo perehtynyt käsitteisiin, joita tarvitaan mukautetun päätepisteen lisäämiseen REST-sovellusliittymään. On vain opeteltava yhdistämään nämä kaksi.
Aloitat luomalla toiminnon, joka voi olla yksinkertainen tai monimutkainen riippuen REST-sovellusliittymään lisättävän toiminnon kehittyneisyydestä. Tässä on yksinkertainen toiminto, jonka WordPress tarjoaa käsikirjassaan, toiminto, joka on suunniteltu nappaamaan kirjoittajan sivustosi uusimpien viestien otsikot:
$data)[‘id’], ) ); if ( tyhjä( $viestit ) ) { return null; } palauttaa $posts[0]->viestin_nimi; }
Tämän jälkeen sinun on rekisteröitävä reitti, jotta tämä toiminto on API:n käytettävissä käyttämällä toista toimintoa nimeltä register_rest_route. Tässä on toiminto, jolla WordPress rekisteröi reitin edelliselle toiminnolle:
\d+)’, array(‘methods’ => ‘GET’, ‘takaisinsoitto’ => ‘my_awesome_func’, ) ); } );
Täällä tapahtuu pari asiaa. Ensinnäkin tämän funktion läpi kulkee kolme ominaisuutta. Ne ovat nimiavaruus (“myplugin/v1”), reitti, joka meidän on rekisteröitävä (“my_awesome_func”) ja vaihtoehdot, joita haluamme käyttää (“author/(?P
Kuten WordPress selittää, tämä reitti on suunniteltu vastaamaan mitä tahansa sanaa “/author/{id}”, jossa “{id}” on kokonaisluku. Tämä on URL-osoite, jolla vierailet käyttääksesi tätä reittiä – http://example.com/wp-json/myplugin/v1/author/(?P\d+). Tämä tietty reitti käyttää yhtä päätepistettä, mutta reiteillä voi olla useita päätepisteitä. Voit nähdä, että määritimme myös HTTP-menetelmän, jota tämä päätepiste käyttäisi.
Muita konsepteja, joita tarvitset
On olemassa muutamia lisäkäsitteitä, jotka sinun on opittava, jos haluat laajentaa REST-sovellusliittymää, jos et ole jo perehtynyt niihin. Käytimme nimiavaruutta yllä olevassa funktiossa, minkä vuoksi yllä olevan URL-osoitteen ensimmäinen osa on “myplugin/v1”. Niitä käytetään etuliitteinä estämään ristiriidat mukautettujen reittien kanssa.
Argumentit ovat toinen käsite, joka sinun pitäisi tuntea, koska niiden avulla voit suorittaa desinfioinnin ja validoinnin rekisteröimällä ne rekisteröidessäsi reittejä. Sinun tulee myös tutustua palautusarvoihin, sillä niiden avulla määrität palvelimelta saamasi vastauksen. Voit jopa käyttää niitä virheiden palauttamiseen, kuten 404-virheen, joka näytetään, jos kirjoittaja ei ole julkaissut viestejä.
Takaisinkutsut ovat toinen käsite, jonka sinun pitäisi tietää, kuten toiminnot, jotka tunnetaan nimellä käyttöoikeuskutsut, jotka tarkistavat, pystyykö käyttäjä suorittamaan toiminnon ennen kuin toiminto yrittää kutsua varsinaista takaisinsoittoa. Lopuksi sisäisiin luokkiin ja ohjainmalleihin tutustuminen auttaa sinua hallitsemaan luomiesi päätepisteiden kaikkia näkökohtia.
Viimeiset ajatukset ja minne tästä eteenpäin
WordPress REST API:n avainkäsitteiden ymmärtäminen ja sen käytön ja laajentamisen oppiminen voi olla ylivoimaista, mutta WordPressin valmistajat ovat melko varmoja, että se tulee olemaan CMS:n voima tavoilla, joita se tarvitsee kasvaakseen paljon enemmän kuin sen kykyjä alustana. luoda yksinkertaisia verkkosivustoja ja blogeja.
JavaScriptin oppimisen pitäisi olla tällä hetkellä etusijalla, kuten aiemmin todettiin, koska WordPressin valmistajat haluavat kehittäjien sisällyttävän tämän kielen useammin WordPress-projekteihin.
Sinun tulisi myös käydä läpi WordPress REST API -käsikirja saadaksesi paremman käsityksen WordPressin näkemyksestä REST API:sta. The REST API:n käyttö osio sisältää oppaat globaalien parametrien, sivutuksen, upottamisen ja linkittämisen sekä todentamisen käyttöön, jotka ovat kaikki tämän API:n avainkäsitteitä.
Kun olet saanut melko hyvän käsityksen kaikesta tästä, voit käydä läpi REST-sovellusliittymän laajentaminen -osiossa opit laajentamaan API:ta perusteellisesti. Opit lisää mukautettujen päätepisteiden lisäämisestä ja opit myös käyttämään mukautettuja sisältötyyppejä ja muokkaamaan vastauksia.