In fluchstartgids foar de WordPress REST API

 In fluchstartgids foar de WordPress REST API

Patrick Harvey

It web is de lêste desennia nochal wat groeid, en WordPress is in bytsje efterfallen. Hieltyd mear applikaasjes wurde op it web brocht mei JavaScript, en hieltyd mear dynamyske websiden wurde boud mei talen lykas Python en Ruby.

De ûntwikkelders fan WordPress-kearn, en sels in pear profesjonele WordPress-ûntwikkelders, fiele har dat it swiere fertrouwen fan WordPress op PHP en minimaal gebrûk fan JavaScript fierstente ferâldere is wurden. Dit is wat de WordPress REST API is bedoeld om op te lossen.

Dit betsjut net dat WordPress fuort giet fan PHP, mar it betsjuttet wol dat ûntwikkelders moatte beskôgje om JavaScript te learen as se foardielje wolle fan wat dizze API hat te bieden.

Wat is de WordPress REST API?

De REST API is gjin nij konsept. Yn feite definiearre Roy Fielding de term "fertsjintwurdigingssteatferfier" yn it jier 2000 doe't hy it brûkte om HTTP 1.1 en Uniform Resource Identifiers te ûntwerpen, better bekend as "URI's."

Jo witte wierskynlik al dat API's binne de struktuer fan softwareapplikaasjes dy't sets fan ark en protokollen befetsje kinne ûntwikkelders brûke om dy applikaasjes te bouwen. REST API is fergelykber mei dat, útsein dat it har oanfragen útfiert en har antwurden ûntfange fia HTTP-protokol.

Reguliere API's brûke typysk PHP, Python en Ruby om applikaasjes te bouwen. Jo kinne oare talen brûke, mar dit binne de populêrste. REST APIs, trochienfâldige websiden en blogs.

It learen fan JavaSkript moat no in topprioriteit wêze, lykas earder sein, om't dit de taal is dy't de makkers fan WordPress wolle dat ûntwikkelders faker yn WordPress-projekten opnimme.

Jo moatte ek troch it WordPress REST API-hânboek gean om in better begryp te krijen fan WordPress' nimme op de REST API. De seksje It brûken fan de REST API befettet hantliedingen oer hoe't jo globale parameters brûke kinne, paginaasje, ynbêde en keppeljen, en autentikaasje, dy't allegear kaaibegripen binne fan dizze API.

As jo ​​ienris in aardich goed begryp hawwe krigen fan alles dêrfan kinne jo troch de seksje De REST API útwreidzje om te learen hoe't jo de API yn 'e djipte kinne útwreidzje. Jo sille mear leare oer it tafoegjen fan oanpaste einpunten en sille ek leare hoe't jo oanpaste ynhâldstypen brûke en antwurden feroarje.

it brûken fan HTTP-protokol, meitsje it makliker om oare programmeartalen te brûken, lykas JavaScript.

WordPress REST API

Ik haw al útlein hoe't WordPress REST API mear giet oer it ferpleatsen fan WordPress tichter by wêr't de rest fan it web is en minder oer it fuortgean fan PHP. It giet om it makliker te meitsjen foar ûntwikkelders om talen lykas JSON en JavaScript te brûken, sadat WordPress in folslein platfoarm wurde kin dat brûkt wurde om folle mear te bouwen dan tradisjonele websiden en blogs.

Hjir is WordPress' útlis fan it opnimmen fan JSON yn 'e WordPress REST API:

De WordPress REST API biedt API-einpunten foar WordPress-gegevenstypen wêrtroch ûntwikkelders op ôfstân kinne ynteraksje mei siden troch it ferstjoeren en ûntfangen fan JSON (JavaScript Object Notation) objekten. JSON is in iepen standert gegevensformaat dat lichtgewicht en minsklik lêsber is, en liket op objekten yn JavaScript; dêrom de namme. As jo ​​ynhâld ferstjoere nei of in fersyk meitsje oan de API, sil it antwurd weromjûn wurde yn JSON. Dit stelt ûntwikkelders yn steat om WordPress-ynhâld te meitsjen, te lêzen en te aktualisearjen fan JavaScript-side fan 'e client of fan eksterne applikaasjes, sels dy skreaun yn talen bûten PHP.

It is yn essinsje ûntworpen om de kleau tusken de PHP WordPress-kearn te brêgen is boud op en it JavaScript dat in protte webapplikaasjes hjoed brûke. De ynfrastruktuer foar de WordPress REST API waard tafoege oan WordPress-kearnyn ferzje 4.4 (koadenamme "Clifford") yn desimber 2015. Jo hawwe in plugin nedich om de REST API op dat stuit te brûken. De rest fan dizze API, de ynhâld-einpunten om krekt te wêzen, waard lykwols tafoege oan WordPress-kearn yn ferzje 4.7 (koadenamme "Vaughan") yn desimber 2016, wêrtroch't de needsaak foar de WP REST API-plugin negeare.

Hoe de WordPress REST API wurket

Om te begripen hoe't de WordPress REST API wurket, moatte jo begripe hoe't HTTP-oanfragen en antwurden wurkje. As jo ​​​​in URL ynfiere yn 'e adresbalke fan in browser, is dat in fersyk. As de tsjinner de webside of applikaasje foar dy URL toant, is dat in antwurd.

Jo sille in pear ferskillende soarten oanfragen of "HTTP-metoaden" sjen as jo begjinne mei it brûken fan de WordPress REST API. Hjir binne de fjouwer haadtypen HTTP-metoaden dy't it web brûkt:

  • GET - Wurdt brûkt om gegevens fan 'e tsjinner op te heljen
  • POST – Wurdt brûkt om gegevens nei de tsjinner te stjoeren
  • PUT – Wurdt brûkt om gegevens op de tsjinner te feroarjen of te aktualisearjen
  • DELETE – Wurdt brûkt om gegevens te ferwiderjen fan de tsjinner

Mei dy ienfâldige definysjes yn gedachten is it ynfieren fan in URL yn in browser in GET-fersyk. It ynfieren fan jo oanmeldynformaasje foar in webside is in POST-fersyk. It feroarjen fan jo aktuele wachtwurd yn in nij is in PUT-fersyk, wylst it beëinigjen fan jo akkount in DELETE-fersyk is.

Oanfoljende betingsten dy't jo opfalle binne "rûtes" en "einpunten." In rûte is typysk de URL ofin diel fan 'e URL dy't jo besykje tagong te krijen, wylst in einpunt typysk it antwurd is dat jo ûntfange fan' e tsjinner.

As eksterne boarnen HTTP-fersiken stjoere nei de tsjinner dy't jo WordPress-side host, lit de REST API jo gegevens bleatstelle op in feilige manier troch te reagearjen op dy oanfragen mei in mienskiplike arsjitektuer en in eigen set fan protokollen.

Dêrmei kin WordPress-ynhâld, lykas berjochten, siden en opmerkings, ferwurke wurde as rauwe gegevens. Wy sille krije in glim fan dit yn in minút. It algemiene punt hjirfan is om jo wizigingen te meitsjen oan de ynhâld fan jo side sûnder tagong te krijen ta it WordPress admingebiet. Dit is hoe't jo wizigingen oan jo side kinne meitsje mei JSON, waans antwurden ûntwikkelders in oantal ferskillende manieren jouwe om mei har siden te ynteraksje.

Litte wy ús hannen in bytsje smoarch meitsje om te sjen hoe't dit allegear wurket.

Gebrûk fan WordPress REST API

Wy sille yngean hoe't jo de WordPress REST API eins kinne brûke , mar spitigernôch binne d'r in pear wichtige begripen dy't wy earst moatte oergean dus it makket allegear sin. Hjir binne de kaaibegripen dy't dizze API opmeitsje:

  • Routes & amp; Einpunten
  • Ferfragen
  • Reaksjes
  • Skema
  • Kontrollerklassen

Litte wy der oan ta komme.

Sjoch ek: Hoe kinne jo in side oer skriuwe foar jo blog: in hantlieding foar begjinners

Rûtes & amp; Einpunten

De technyske definysje fan in rûte is in URL dy't troch ferskate HTTP-metoaden yn kaart brocht wurde kin. De mapping tusken in rûte en in HTTP-metoade wurdt an"einpunt." Jo kinne tagong krije ta de WordPress REST API en sjen hokker rûtes en einpunten beskikber binne foar jo side troch de rûte "/wp-json/" ta te foegjen oan it ein fan jo URL.

Jo kinne dit sjen op WordPress.org troch te besykjen //www.wordpress.org/wp-json/:

Ynstallearje in tafoeging mei de namme JSON Viewer foar Chrome (JSON-viewer foar Firefox hjir beskikber) om dizze rommel op te romjen:

As jo ​​gjin moaie permalinks brûke, brûk dan "?rest_route=" ynstee fan "wp-json". Hoe dan ek, wat jo hjir sjogge is in foarbyld fan in rûte en in einpunt. "/wp-json/" en "/?rest_route=/" binne rûtes. Se kinne jo tagong krije ta de WordPress REST API fia de GET HTTP-metoade. De WordPress REST API werjûn oan jo, of de gegevens as jo wolle, is in einpunt tsjinne oan ús fia in JSON-antwurd.

Ferfragen

De WordPress REST API ferwurket oanfragen mei in klasse mei de namme WP_REST_Request . It is in primêre klasse yn 'e WordPress REST API-ynfrastruktuer. It wurdt brûkt om ynformaasje op te slaan en op te heljen foar alle oanfragen dy't jo meitsje.

Jo kinne fersiken op ôfstân ferstjoere mei de HTTP-metoaden dy't wy oergien hawwe of jo kinne se yntern meitsje lykas jo normaal dogge fia PHP.

Antwurden

Antwurden wurde ferwurke mei de WP_REST_Response-klasse. In antwurd is de gegevens dy't jo ûntfange fan in fersyk, lykas earder sein. De API brûkt dizze klasse om gegevens werom te jaan dy't ferstjoerd binne fan einpunten. It kin ek weromflaters.

Skema

Skema is in konsept binnen de WordPress REST API dat in ferskaat oan doelen tsjinnet. API-skema definiearret de gegevensstruktueren dy't einpunten kinne brûke, en it befettet in list mei de eigenskippen dy't de WordPress REST API kin werombringe. It befettet ek de parameters dy't de API akseptearje kin en soarget foar feiligens troch it falidearjen fan de oanfragen dy't de API ûntfangt.

Controller Classes

De WordPress REST API registrearret rûtes en einpunten, behannelet fersiken, brûkt Schema om de gegevens en eigenskippen te definiearjen dy't it kin brûke, en genereart API-antwurden boppe alles. De API, en jo as ûntwikkelder, hawwe in manier nedich om al dizze bewegende dielen te behearjen. Dat is wat controller klassen binne foar. Se kinne jo al dizze eleminten sammelje en se op ien plak organisearje.

De WordPress REST API brûke om tagong te krijen ta jo ynhâld fia einpunten

In rûte is de URL dy't jo brûke om tagong te krijen ta in einpunt, en in einpunt is it antwurd dat jo ûntfange fan de tsjinner. As jo ​​de berjochten fan jo side fia de WordPress REST API wolle krije, brûk dan de rûte "/wp/v2/posts/". WordPress ferklearret dat "/wp-json/" net opnommen is yn dizze langere rûtes, om't it it "basispaad foar de API sels" is. De einigjende URL is "example.com/wp-json/wp/v2/posts".

As jo ​​tagong wolle ta in spesifyk berjocht fia de API, foegje dan gewoan de ID fan 'e post ta oan 'e ein fan 'e URL, sadat it sjocht der sa út:"example.com/wp-json/wp/v2/posts/123"

As jo ​​sykje wolle nei berjochten dy't in spesifike frase of kaaiwurd brûke, brûk dan dizze rûte: "/wp/v2/posts? =sykje[ foegje hjir trefwurd yn ]", sadat de URL der sa útsjocht: "example.com/wp-json/wp/v2/posts?search[ foegje hjir trefwurd yn ].

As jo ​​tagong wolle ta it profyl fan in spesifyk brûker fia de API, foegje dan "/brûkers/" ta oan de rûte en ek de brûkers-ID fan dy brûker. De URL sjocht der sa út: "example.com/wp-json/wp/v2/users/2". As jo ​​​​lykwols tagong wolle ta de brûkers fan in side, lit dan de ID falle sadat de URL der sa útsjocht: "example.com/wp-json/wp/v2/users/".

Jo kinne hjir mear einpunten besjen. .

De REST API útwreidzje

Wy sille in pear stappen oerslaan en leare hoe't jo de eigenskippen fan 'e REST API brûke kinne om it út te wreidzjen. Jo moatte leare oer dingen lykas globale parameters, paginaasje, keppeljen en ynbêde, en autentikaasje foardat jo dit dogge, mar wy geane foarút foar de doelen fan dizze fluchstartgids.

Hjir binne in pear dingen dy't jo kinne kinne. berikke troch it útwreidzjen fan de REST API:

  • Oanpaste einpunten tafoegje
  • Rûtes meitsje foar oanpaste posttypen en oanpaste taksonomyen
  • Reaksjes feroarje

As jo ​​in betûfte ûntwikkelder binne, binne jo wierskynlik al bekend mei de begripen dy't nedich binne om in oanpast einpunt ta te foegjen oan de REST API. It is gewoan in kwestje fan learen hoe't jo de twa ferbine kinne.

Jo sille begjinne mei it meitsjen fan in funksjedat kin ienfâldich as yngewikkeld wêze ôfhinklik fan 'e ferfining fan' e funksjonaliteit dy't jo besykje ta te foegjen oan 'e REST API. Hjir is de ienfâldige funksje dy't WordPress yn har hânboek leveret, in funksje ûntworpen om de titels fan 'e lêste berjochten fan jo side troch skriuwer te pakken:

Sjoch ek: Hoe kinne jo kliïnten op LinkedIn krije (sûnder Cold Pitching)
 $data['id'], ) ); if ( empty( $posts ) ) { return null; } return $posts[0]->post_title; } 

Dêrnei moatte jo in rûte registrearje om dizze funksje beskikber te meitsjen foar de API troch in oare funksje te brûken mei de namme register_rest_route. Hjir is de funksje dy't WordPress brûkt om de rûte te registrearjen foar de foarige funksje:

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

Der binne in pear dingen dy't hjir barre. Earst binne d'r trije eigenskippen dy't troch dizze funksje passe. Se binne de nammeromte ("myplugin/v1"), de rûte dy't wy moatte registrearje ("my_awesome_func") en de opsjes dy't wy brûke wolle ("author/(?P\d+)"). De register_rest_route-funksje wurdt ek neamd op in werombelfunksje neamd "rest_api_init". Dit besuniget de hoemannichte oerstallich wurk dat wurdt útfierd as de API net brûkt wurdt.

As WordPress ferklearret, is dizze rûte ûntwurpen om alles te passen mei "/author/{id}" wêryn "{id }" is in hiel getal. Dit is de URL dy't jo besykje om dizze rûte te brûken - //example.com/wp-json/myplugin/v1/author/(?P\d+) . Dizze spesifike rûte brûkt ien einpunt, mar rûtes kinne meardere einpunten hawwe. Jo kinne sjen dat wy ek de HTTP-metoade definieare dy't dit einpunt brûke soe.

Oare begripen dy't jo nedich binne

Der binne in pearekstra konsepten dy't jo moatte leare as jo de REST API wolle útwreidzje, op betingst dat jo se net al bekend binne. Wy brûkten in nammeromte yn 'e funksje hjirboppe, en dêrom is it earste diel fan' e URL hjirboppe "myplugin/v1". Se wurde brûkt as foarheaksels om botsingen mei oanpaste rûtes te foarkommen.

Arguminten binne in oar konsept wêrmei jo bekend wêze moatte, om't se jo sanearring en falidaasje kinne útfiere troch se te registrearjen as jo rûtes registrearje. Jo moatte josels ek fertroud meitsje mei weromwearden, om't dit is wat jo sille brûke om it type antwurd te definiearjen dat jo ûntfange fan 'e tsjinner. Jo kinne se sels brûke om flaters werom te jaan, lykas in 404-flater dy't werjûn wurdt as in auteur gjin berjochten publisearre hat.

Callbacks binne in oar konsept dat jo witte moatte, lykas funksjes bekend as tagongsrjochten callbacks dy't kontrolearje oft of net in brûker is by steat om te fieren in aksje foar de funksje besiket te roppen de eigentlike callback. Ta beslút, fertroud mei ynterne klassen en controller patroanen sil helpe jo beheare alle aspekten fan de einpunten dy't jo meitsje.

Finale tinzen & amp; wêr't hjirwei te gean

De kaaibegrippen fan 'e WordPress REST API begripe en learje hoe't jo it brûke en útwreidzje kin oerweldigjend wêze, mar de makkers fan WordPress binne frij betrouwen dat it de krêft fan 'e CMS op manieren sil wêze it moat fier boppe syn mooglikheden groeie as in platfoarm om te bouwen

?>

Patrick Harvey

Patrick Harvey is in betûfte skriuwer en digitale marketeer mei mear as 10 jier ûnderfining yn 'e yndustry. Hy hat in grutte kennis fan ferskate ûnderwerpen lykas bloggen, sosjale media, e-commerce, en WordPress. Syn passy foar skriuwen en minsken helpe online slagje hat him dreaun om ynsjochsume en boeiende berjochten te meitsjen dy't wearde leverje oan syn publyk. As in betûfte WordPress-brûker is Patrick bekend mei de yns en outs fan it bouwen fan suksesfolle websiden, en hy brûkt dizze kennis om bedriuwen en partikulieren te helpen har online oanwêzigens te fêstigjen. Mei in skerp each foar detail en in ûnbidige ynset foar treflikens, is Patrick wijd oan it foarsjen fan syn lêzers mei de lêste trends en advys yn 'e sektor foar digitale marketing. As hy net blogget, kin Patrick fûn wurde om nije plakken te ferkennen, boeken te lêzen of basketbal te spieljen.