Greitas "WordPress" REST API vadovas

 Greitas "WordPress" REST API vadovas

Patrick Harvey

Per pastarąjį dešimtmetį žiniatinklis labai išsiplėtė, o "WordPress" šiek tiek atsiliko. Vis daugiau programų į žiniatinklį perkeliama naudojant "JavaScript", vis daugiau dinamiškų svetainių kuriama naudojant tokias kalbas kaip "Python" ir "Ruby".

"WordPress" branduolio kūrėjai ir net keli profesionalūs "WordPress" kūrėjai mano, kad "WordPress" labai priklauso nuo PHP ir minimaliai naudoja "JavaScript".

Tai nereiškia, kad "WordPress" atsisako PHP, tačiau programuotojams, norintiems pasinaudoti šios API teikiamomis galimybėmis, vertėtų išmokti "JavaScript".

Kas yra "WordPress" REST API?

REST API nėra nauja sąvoka. 2000 m. Roy Fielding apibrėžė terminą "reprezentacinės būsenos perdavimas", kai jį naudojo kurdamas HTTP 1.1 ir vienodus išteklių identifikatorius, geriau žinomus kaip URI.

Tikriausiai jau žinote, kad API - tai programinės įrangos programų struktūra, kurioje yra įrankių ir protokolų rinkiniai, kuriuos kūrėjai gali naudoti šioms programoms kurti. REST API yra panaši į ją, tik užklausos atliekamos ir atsakymai gaunami naudojant HTTP protokolą.

Įprastinės API programoms kurti paprastai naudojamos PHP, Python ir Ruby. Galite naudoti ir kitas kalbas, tačiau šios yra populiariausios. REST API, naudojant HTTP protokolą, lengviau naudoti kitas programavimo kalbas, pavyzdžiui, "JavaScript".

"WordPress" REST API

Jau paaiškinau, kad "WordPress REST API" yra labiau skirta "WordPress" priartinti prie likusios interneto dalies ir ne tiek atitolinti nuo PHP, kiek palengvinti kūrėjams naudojimąsi tokiomis kalbomis kaip JSON ir "JavaScript", kad "WordPress" taptų visaverte platforma, kurią galima naudoti ne tik tradicinėms svetainėms ir tinklaraščiams kurti.

Čia pateikiamas "WordPress" paaiškinimas apie JSON įtraukimą į "WordPress" REST API:

"WordPress REST API" teikia "WordPress" duomenų tipų API galinius taškus, leidžiančius kūrėjams sąveikauti su svetainėmis nuotoliniu būdu siunčiant ir gaunant JSON (JavaScript Object Notation) objektus. JSON yra atviras standartinis duomenų formatas, kuris yra lengvas ir suprantamas žmogui bei atrodo kaip objektai "JavaScript"; iš čia ir pavadinimas. Kai siunčiate turinį į API arba pateikiate užklausą į API, atsakymas busTai leidžia programuotojams kurti, skaityti ir atnaujinti "WordPress" turinį iš kliento pusės "JavaScript" arba iš išorinių programų, net ir parašytų ne tik PHP kalbomis.

Ji iš esmės sukurta siekiant užpildyti atotrūkį tarp "WordPress" PHP branduolio ir "JavaScript", kurį šiandien naudoja daugelis žiniatinklio programų. "WordPress" REST API infrastruktūra buvo įtraukta į "WordPress" branduolį 4.4 versijoje (kodinis pavadinimas "Clifford") 2015 m. gruodį. Tuo metu norint naudotis REST API reikėjo įskiepio. Tačiau likusi šios API dalis, tiksliau, turinio galiniai taškai, buvo įtraukti į2016 m. gruodžio mėn. pasirodė "WordPress" branduolio 4.7 versija (kodinis pavadinimas "Vaughan"), todėl nebereikia WP REST API įskiepio.

Kaip veikia "WordPress" REST API

Kad suprastumėte, kaip veikia "WordPress" REST API, turite suprasti, kaip veikia HTTP užklausos ir atsakymai. Kai naršyklės adreso juostoje įvedate URL adresą, tai yra užklausa. Kai serveris parodo to URL adreso svetainę arba programą, tai yra atsakas.

Kai pradėsite naudoti "WordPress" REST API, pamatysite keletą skirtingų užklausų tipų arba "HTTP metodų". Štai keturi pagrindiniai internete naudojami HTTP metodų tipai:

  • GET - Naudojamas duomenims iš serverio gauti
  • POST - Naudojamas duomenims į serverį siųsti
  • PUT - Naudojamas duomenims serveryje keisti arba atnaujinti.
  • DELETE - Naudojamas duomenims iš serverio pašalinti

Turint omenyje šiuos paprastus apibrėžimus, URL įvedimas naršyklėje yra GET užklausa. Prisijungimo prie svetainės informacijos įvedimas yra POST užklausa. Dabartinio slaptažodžio pakeitimas nauju yra PUT užklausa, o paskyros panaikinimas yra DELETE užklausa.

Papildomi terminai, kuriuos pastebėsite, yra "maršrutai" ir "galiniai taškai". Maršrutas paprastai yra URL arba jo dalis, kurią bandote pasiekti, o galinis taškas paprastai yra iš serverio gaunamas atsakymas.

Kai išoriniai šaltiniai siunčia HTTP užklausas į serverį, kuriame talpinama jūsų "WordPress" svetainė, REST API saugiai atskleidžia jūsų duomenis, atsakydama į šias užklausas pagal bendrą architektūrą ir savo protokolų rinkinį.

Tai leidžia "WordPress" turinį, pavyzdžiui, pranešimus, puslapius ir komentarus, apdoroti kaip neapdorotus duomenis. Po minutės susipažinsime su tuo. Bendra to esmė - leisti jums atlikti svetainės turinio pakeitimus be prieigos prie "WordPress" administratoriaus srities. Taip galite atlikti svetainės pakeitimus naudodami JSON, kurio atsakymai kūrėjams suteikia įvairių būdų sąveikautisu savo svetainėmis.

Šiek tiek sutepkime rankas ir pažiūrėkime, kaip visa tai veikia.

WordPress REST API naudojimas

Mes ketiname sužinoti, kaip iš tikrųjų naudoti WordPress REST API, bet, deja, pirmiausia reikia aptarti keletą pagrindinių sąvokų, kad viskas būtų suprantama. Štai pagrindinės sąvokos, kurios sudaro šią API:

  • Maršrutai & amp; Galiniai taškai
  • Prašymai
  • Atsakymai
  • Schema
  • Valdiklio klasės

Pereikime prie to.

Maršrutai & amp; Galiniai taškai

Techninis maršruto apibrėžimas - tai URL adresas, kurį galima priskirti skirtingiems HTTP metodams. Maršruto ir HTTP metodo priskyrimas vadinamas "galiniu tašku". Galite prisijungti prie "WordPress" REST API ir pamatyti, kokie maršrutai ir galiniai taškai yra prieinami jūsų svetainei, prie URL adreso galo pridėję maršrutą "/wp-json/".

Tai galite pamatyti svetainėje WordPress.org apsilankę adresu //www.wordpress.org/wp-json/:

Įdiekite plėtinį JSON Viewer for Chrome (JSON Viewer for Firefox galite rasti čia), kad sutvarkytumėte šią netvarką:

Jei nenaudojate gražių nuolatinių nuorodų, vietoj "wp-json" naudokite "?rest_route=". Bet kuriuo atveju tai, ką čia matote, yra maršruto ir galinio taško pavyzdys. "/wp-json/" ir "/?rest_route=/" yra maršrutai. Jie leidžia pasiekti "WordPress REST API" per GET HTTP metodą. Jums rodoma "WordPress REST API" arba, jei norite, duomenys yra galinis taškas, pateikiamas mums per JSON atsakymą.

Prašymai

"WordPress" REST API apdoroja užklausas naudodama klasę WP_REST_Request. Tai pagrindinė "WordPress" REST API infrastruktūros klasė. Joje saugoma ir gaunama informacija apie visas atliekamas užklausas.

Užklausas galite siųsti nuotoliniu būdu, naudodami HTTP metodus, kuriuos aptarėme, arba galite jas siųsti viduje, kaip įprasta, naudodami PHP.

Atsakymai

Atsakymai apdorojami naudojant WP_REST_Response klasę. Atsakymas - tai duomenys, gauti iš užklausos, kaip jau minėta anksčiau. API ši klasė naudojama iš galinių taškų išsiųstiems duomenims grąžinti. Ji taip pat gali grąžinti klaidas.

Schema

Schema yra "WordPress REST API" sąvoka, kuri naudojama įvairiais tikslais. API schemoje apibrėžiamos duomenų struktūros, kurias gali naudoti galiniai taškai, ir joje pateikiamas savybių, kurias gali grąžinti "WordPress REST API", sąrašas. Joje taip pat pateikiami parametrai, kuriuos gali priimti API, ir užtikrinamas API saugumas patvirtinant API gaunamas užklausas.

Taip pat žr: 32 protingi būdai, kaip padidinti srautą į savo tinklaraštį

Valdiklio klasės

"WordPress" REST API registruoja maršrutus ir galinius taškus, tvarko užklausas, naudoja schemą duomenims ir savybėms, kurias gali naudoti, apibrėžti ir generuoja API atsakymus. API ir jums, kaip kūrėjui, reikia būdo, kaip valdyti visas šias judančias dalis. Tam ir skirtos valdiklių klasės. Jos leidžia jums surinkti visus šiuos elementus ir sutvarkyti juos vienoje vietoje.

WordPress REST API naudojimas norint pasiekti turinį per galinius taškus

Maršrutas yra URL, kurį naudojate norėdami pasiekti galinį tašką, o galinis taškas yra atsakymas, kurį gaunate iš serverio. Jei norite gauti savo svetainės įrašus per "WordPress" REST API, naudokite maršrutą "/wp/v2/posts/". "WordPress" paaiškina, kad "/wp-json/" nėra įtrauktas į šiuos ilgesnius maršrutus, nes tai yra "bazinis pačios API kelias". Galutinis URL yra "example.com/wp-json/wp/v2/posts".

Taip pat žr: Kaip įtraukti tinklaraščio skaitytojus ištisus metus naudojant turinio temas

Jei norite pasiekti konkretų įrašą per API, tiesiog pridėkite įrašo ID prie URL adreso galo, kad jis atrodytų taip: "example.com/wp-json/wp/v2/posts/123".

Jei norite ieškoti pranešimų, kuriuose naudojama konkreti frazė ar raktažodis, naudokite šį būdą: "/wp/v2/posts?=search[ čia įterpti raktažodį ]", todėl URL atrodo taip: "example.com/wp-json/wp/v2/posts?search[ čia įterpti raktažodį ].

Jei per API norite pasiekti konkretaus naudotojo profilį, prie maršruto pridėkite "/users/" ir to naudotojo naudotojo ID. URL atrodo taip: "example.com/wp-json/wp/v2/users/2". Panašiai, jei norite pasiekti svetainės naudotojus, atsisakykite ID, kad URL atrodytų taip: "example.com/wp-json/wp/v2/users/".

Daugiau galinių taškų galite peržiūrėti čia.

REST API išplėtimas

Ketiname praleisti keletą žingsnių ir išmokti, kaip naudoti REST API savybes, kad ją išplėstumėte. Prieš tai turėtumėte sužinoti apie tokius dalykus, kaip visuotiniai parametrai, puslapiavimas, susiejimas ir įterpimas bei autentiškumo patvirtinimas, tačiau šiame greitosios pradžios vadove ketiname praleisti juos į priekį.

Štai keletas dalykų, kuriuos galite atlikti išplėtę REST API:

  • Pridėti pasirinktinių galinių taškų
  • Sukurti maršrutus pasirinktiniams skelbimų tipams ir pasirinktinėms taksonomijoms
  • Keisti atsakymus

Jei esate patyręs programuotojas, greičiausiai jau žinote sąvokas, reikalingas norint pridėti pasirinktinį galinį tašką prie REST API. Tereikia išmokti, kaip juos sujungti.

Pirmiausia sukursite funkciją, kuri gali būti paprasta arba sudėtinga, priklausomai nuo to, kokio sudėtingumo funkciją bandote įtraukti į REST API. Štai paprasta "WordPress" vadove pateikta funkcija - funkcija, skirta svetainės naujausių įrašų pavadinimams pagal autorių paimti:

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

Po to turėsite užregistruoti maršrutą, kad ši funkcija taptų prieinama API, naudodami kitą funkciją, vadinamą register_rest_route. Štai funkcija, kurią "WordPress" naudoja ankstesnės funkcijos maršrutui užregistruoti:

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

Čia vyksta keletas dalykų. Pirma, per šią funkciją perduodamos trys savybės: vardų erdvė ("myplugin/v1"), maršrutas, kurį reikia užregistruoti ("my_awesome_func"), ir parinktys, kurias norime naudoti ("author/(?P\d+)"). Register_rest_route funkcija taip pat iškviečiama naudojant grįžtamojo ryšio funkciją "rest_api_init". Tai sumažina nereikalingo darbo kiekį.kuri atliekama, kai API nenaudojama.

Kaip paaiškina "WordPress", šis maršrutas sukurtas taip, kad atitiktų bet ką, kas turi "/author/{id}", kur "{id}" yra sveikasis skaičius. Tai yra URL adresas, kurį aplankytumėte norėdami naudoti šį maršrutą - //example.com/wp-json/myplugin/v1/author/(?P\d+) . Šiame konkrečiame maršrute naudojamas vienas galinis taškas, tačiau maršrutai gali turėti kelis galinius taškus. Matote, kad taip pat apibrėžėme HTTP metodą, kurį naudos šis galinis taškas.

Kitos reikalingos sąvokos

Yra keletas papildomų sąvokų, kurias turėsite išmokti, jei norite išplėsti REST API, jei dar nesate su jomis susipažinę. Pirmiau pateiktoje funkcijoje naudojome vardų erdvę, todėl pirmoji URL adreso dalis yra "myplugin/v1". Jos naudojamos kaip priešdėliai, kad būtų išvengta susidūrimų su pasirinktiniais maršrutais.

Argumentai yra dar viena sąvoka, su kuria turėtumėte susipažinti, nes jie leidžia jums atlikti sanitarinį apdorojimą ir patvirtinimą, registruojant juos, kai registruojate maršrutus. Taip pat turėtumėte susipažinti su grąžinamomis reikšmėmis, nes būtent jas naudosite atsakymo, kurį gausite iš serverio, tipui apibrėžti. Jas galite naudoti net klaidoms grąžinti, pavyzdžiui, 404 klaidai, kuri rodoma, jei autorius neturipaskelbti visi pranešimai.

Kita sąvoka, kurią turėtumėte žinoti, yra grįžtamieji iškvietimai, pavyzdžiui, funkcijos, žinomos kaip leidimų grįžtamieji iškvietimai, kurios tikrina, ar naudotojas gali atlikti veiksmą, prieš funkcijai bandant iškviesti tikrąjį grįžtamąjį iškvietimą. Galiausiai, susipažinimas su vidinėmis klasėmis ir valdiklio šablonais padės jums valdyti kiekvieną jūsų sukurtų galinių taškų aspektą.

Baigiamosios mintys & amp; ką daryti toliau

Suprasti pagrindines "WordPress" REST API sąvokas ir išmokti ją naudoti bei išplėsti gali būti pribloškiantis, tačiau "WordPress" kūrėjai yra gana įsitikinę, kad tai bus jėga, kurios reikia, kad TVS augtų kur kas plačiau nei jos, kaip paprastų svetainių ir tinklaraščių kūrimo platformos, galimybės.

Kaip jau minėta, "JavaScript" mokymasis šiuo metu turėtų būti svarbiausias prioritetas, nes "WordPress" kūrėjai nori, kad kūrėjai šią kalbą dažniau naudotų "WordPress" projektuose.

Taip pat turėtumėte peržiūrėti "WordPress REST API" vadovą, kad geriau suprastumėte, kaip "WordPress" naudoja REST API. Skyriuje "REST API" naudojimas pateikiami vadovai, kaip naudoti bendruosius parametrus, puslapiavimą, įterpimą ir susiejimą bei autentiškumo patvirtinimą - tai pagrindinės šios API sąvokos.

Kai visa tai gana gerai suprasite, galite pereiti į skyrių "REST API išplėtimas" ir sužinoti, kaip išsamiai išplėsti API. Sužinosite daugiau apie pasirinktinių galinių taškų pridėjimą, taip pat sužinosite, kaip naudoti pasirinktinius turinio tipus ir keisti atsakymus.

Patrick Harvey

Patrick Harvey yra patyręs rašytojas ir skaitmeninės rinkodaros specialistas, turintis daugiau nei 10 metų patirtį šioje pramonėje. Jis turi daug žinių apie įvairias temas, tokias kaip dienoraščiai, socialinė žiniasklaida, elektroninė prekyba ir „WordPress“. Jo aistra rašyti ir padėti žmonėms pasiekti sėkmės internete paskatino jį sukurti įžvalgių ir įtraukiančių įrašų, teikiančių vertę jo auditorijai. Būdamas įgudęs „WordPress“ vartotojas, Patrickas yra susipažinęs su sėkmingų svetainių kūrimo subtilybėmis ir šiomis žiniomis, kad padėtų įmonėms ir asmenims įsitvirtinti internete. Akylai žvelgdamas į detales ir nepajudinamai siekdamas tobulumo, Patrickas yra pasiryžęs teikti savo skaitytojams naujausias skaitmeninės rinkodaros pramonės tendencijas ir patarimus. Kai nerašo tinklaraščio, Patricką galima rasti tyrinėjantį naujas vietas, skaitantį knygas ar žaidžiantį krepšinį.