Kratki vodič za WordPress REST API

 Kratki vodič za WordPress REST API

Patrick Harvey

Web je prilično narastao tijekom posljednjeg desetljeća, a WordPress je tako malo zaostao. Sve više i više aplikacija donosi se na web s JavaScriptom, a sve se više i više dinamičnih web stranica gradi s jezicima kao što su Python i Ruby.

Programeri WordPress jezgre, pa čak i nekoliko profesionalnih WordPress programera, smatraju da je snažno oslanjanje WordPressa na PHP i minimalnu upotrebu JavaScripta postalo previše zastarjelo. Ovo je nešto što bi WordPress REST API trebao riješiti.

To ne znači da se WordPress udaljava od PHP-a, ali znači da bi programeri trebali razmisliti o učenju JavaScripta ako žele iskoristiti ono što ovaj API ima ponuditi.

Što je WordPress REST API?

REST API nije nov koncept. Zapravo, Roy Fielding definirao je pojam "reprezentacijski prijenos stanja" 2000. godine kada ga je upotrijebio za dizajn HTTP-a 1.1 i jedinstvenih identifikatora resursa, poznatijih kao "URI".

Vjerojatno već znate da su API-ji struktura softverskih aplikacija koje sadrže skupove alata i protokola koje programeri mogu koristiti za izradu tih aplikacija. REST API sličan je onom osim što izvršava svoje zahtjeve i prima svoje odgovore putem HTTP protokola.

Vidi također: 11 najboljih platformi za e-trgovinu za 2023. (usporedba + najbolji odabir)

Regularni API-ji obično koriste PHP, Python i Ruby za izradu aplikacija. Možete koristiti druge jezike, ali ovi su najpopularniji. REST API-ji, putemjednostavne web stranice i blogovi.

Učenje JavaScripta sada bi trebao biti glavni prioritet, kao što je prije navedeno, budući da je to jezik za koji kreatori WordPressa žele da ga programeri češće ugrađuju u WordPress projekte.

Također biste trebali proći kroz priručnik za WordPress REST API kako biste bolje razumjeli WordPressov pogled na REST API. Odjeljak Korištenje REST API-ja sadrži vodiče o tome kako koristiti globalne parametre, označavanje stranica, ugrađivanje i povezivanje i provjeru autentičnosti, što su sve ključni koncepti ovog API-ja.

Kad ste stekli prilično dobro razumijevanje svih od toga, možete proći kroz odjeljak Proširenje REST API-ja da biste saznali kako dubinski proširiti API. Naučit ćete više o dodavanju prilagođenih krajnjih točaka i također ćete naučiti kako koristiti prilagođene vrste sadržaja i modificirati odgovore.

upotreba HTTP protokola, olakšava korištenje drugih programskih jezika, kao što je JavaScript.

WordPress REST API

Već sam objasnio kako je WordPress REST API više usmjeren na približavanje WordPressa gdje je ostatak weba, a manje o odmicanju od PHP-a. Radi se o tome da programerima olakšamo korištenje jezika kao što su JSON i JavaScript kako bi WordPress mogao postati potpuno razvijena platforma koja se može koristiti za izgradnju puno više od tradicionalnih web stranica i blogova.

Evo WordPressovog objašnjenja o uključivanju JSON-a u WordPress REST API-ju:

WordPress REST API pruža krajnje točke API-ja za WordPress tipove podataka koji programerima omogućuju daljinsku interakciju s web-mjestima slanjem i primanjem JSON (JavaScript Object Notation) objekata. JSON je otvoreni standardni podatkovni format koji je lagan i čitljiv ljudima, a izgleda kao objekti u JavaScriptu; otuda i naziv. Kada pošaljete sadržaj ili podnesete zahtjev API-ju, odgovor će se vratiti u JSON-u. To razvojnim programerima omogućuje stvaranje, čitanje i ažuriranje WordPress sadržaja iz JavaScripta na strani klijenta ili iz vanjskih aplikacija, čak i onih napisanih na jezicima izvan PHP-a.

U osnovi je dizajniran da premosti jaz između PHP WordPress jezgre je izgrađen na temelju i JavaScript-u koji mnoge web aplikacije danas koriste. Infrastruktura za WordPress REST API dodana je jezgri WordPressau verziji 4.4 (kodno ime “Clifford”) u prosincu 2015. Trebao vam je dodatak za korištenje REST API-ja u to vrijeme. Međutim, ostatak ovog API-ja, točnije krajnje točke sadržaja, dodan je jezgri WordPressa u verziji 4.7 (kodno ime “Vaughan”) u prosincu 2016., negirajući potrebu za WP REST API dodatkom.

Kako WordPress REST API radi

Da biste razumjeli kako WordPress REST API radi, morate razumjeti kako HTTP zahtjevi i odgovori funkcioniraju. Kada unesete URL u adresnu traku preglednika, to je zahtjev. Kada poslužitelj prikaže web mjesto ili aplikaciju za taj URL, to je odgovor.

Vidjet ćete nekoliko različitih vrsta zahtjeva ili "HTTP metoda" kada počnete koristiti WordPress REST API. Ovdje su četiri glavne vrste HTTP metoda koje web koristi:

  • GET – Koristi se za dohvaćanje podataka s poslužitelja
  • POST – Koristi se za slanje podataka na poslužitelj
  • PUT – Koristi se za promjenu ili ažuriranje podataka na poslužitelju
  • DELETE – Koristi se za uklanjanje podataka iz poslužitelj

Imajući na umu te jednostavne definicije, unos URL-a u preglednik je GET zahtjev. Unos podataka za prijavu na web mjesto je POST zahtjev. Promjena trenutne lozinke u novu je PUT zahtjev, dok je ukidanje vašeg računa DELETE zahtjev.

Dodatni izrazi koje ćete primijetiti su "rute" i "krajnje točke". Ruta je obično URL ilidio URL-a kojem pokušavate pristupiti dok je krajnja točka obično odgovor koji primate od poslužitelja.

Kada vanjski izvori pošalju HTTP zahtjeve poslužitelju koji hostira vašu WordPress stranicu, REST API izlaže vaše podatke na siguran način odgovarajući na te zahtjeve zajedničkom arhitekturom i vlastitim skupom protokola.

To omogućuje da se WordPress sadržaj, kao što su postovi, stranice i komentari, obrađuje kao neobrađeni podaci. To ćemo vidjeti za minutu. Sveukupna poanta ovoga je omogućiti vam da mijenjate sadržaj svoje web-lokacije bez pristupa WordPress administratorskom području. Ovako možete izvršiti promjene na svojoj web stranici pomoću JSON-a čiji odgovori programerima daju niz različitih načina za interakciju s njihovim web stranicama.

Idemo malo zaprljati ruke da vidimo kako sve ovo funkcionira.

Korištenje WordPress REST API-ja

Ući ćemo u to kako zapravo koristiti WordPress REST API, ali nažalost, prvo moramo proći kroz nekoliko ključnih koncepata tako da sve ima smisla. Evo ključnih koncepata koji čine ovaj API:

  • Rute & Krajnje točke
  • Zahtjevi
  • Odgovori
  • Shema
  • Klase kontrolera

Krinimo na to.

Rute & Krajnje točke

Tehnička definicija rute je URL koji se može mapirati različitim HTTP metodama. Preslikavanje između rute i HTTP metode naziva se an"krajnja točka." Možete pristupiti WordPress REST API-ju i vidjeti koje su rute i krajnje točke dostupne za vašu web-lokaciju dodavanjem rute “/wp-json/” na kraj vašeg URL-a.

To možete vidjeti na WordPress.org posjetom //www.wordpress.org/wp-json/:

Instalirajte proširenje pod nazivom JSON Viewer za Chrome (JSON preglednik za Firefox dostupan je ovdje) da počistite ovaj nered:

Ako ne koristite lijepe trajne veze, koristite “?rest_route=” umjesto “wp-json”. U svakom slučaju, ovo što vidite ovdje je primjer rute i krajnje točke. “/wp-json/” i “/?rest_route=/” su rute. Omogućuju vam pristup WordPress REST API-ju putem GET HTTP metode. WordPress REST API koji vam se prikazuje, ili podaci ako želite, je krajnja točka koja nam se poslužuje putem JSON odgovora.

Zahtjevi

WordPress REST API obrađuje zahtjeve s klasom pod nazivom WP_REST_Request . To je primarna klasa u WordPress REST API infrastrukturi. Koristi se za pohranjivanje i dohvaćanje informacija za sve zahtjeve koje postavljate.

Vidi također: 5 najboljih dodataka za WordPress Schema za 2023.: obogaćeni isječci postali su jednostavni

Zahtjeve možete slati na daljinu pomoću HTTP metoda koje smo pregledali ili ih možete postaviti interno kao što biste to inače učinili putem PHP-a.

Odgovori

Odgovori se obrađuju s klasom WP_REST_Response. Odgovor su podaci koje dobijete od zahtjeva, kao što je prethodno navedeno. API koristi ovu klasu za vraćanje podataka poslanih s krajnjih točaka. Može se i vratitipogreške.

Shema

Shema je koncept unutar WordPress REST API-ja koji služi u razne svrhe. API shema definira podatkovne strukture koje krajnje točke mogu koristiti i sadrži popis svojstava koje WordPress REST API može vratiti. Također sadrži parametre koje API može prihvatiti i pruža sigurnost za njega potvrđivanjem zahtjeva koje API prima.

Klase kontrolera

WordPress REST API registrira rute i krajnje točke, obrađuje zahtjeve, koristi shemu za definiranje podataka i svojstava koje može koristiti i povrh svega generira API odgovore. API-ju i vama kao razvojnom programeru treba način upravljanja svim tim pokretnim dijelovima. Tome služe časovi kontrolera. Omogućuju vam da prikupite sve te elemente i organizirate ih na jednom mjestu.

Upotreba WordPress REST API-ja za pristup vašem sadržaju putem krajnjih točaka

Ruta je URL koji koristite za pristup krajnja točka, a krajnja točka je odgovor koji primite od poslužitelja. Ako želite dohvatiti objave svoje stranice putem WordPress REST API-ja, upotrijebite rutu “/wp/v2/posts/”. WordPress objašnjava da "/wp-json/" nije uključeno u te duže rute jer je to "osnovna staza za sam API." Završni URL je “example.com/wp-json/wp/v2/posts”.

Ako želite pristupiti određenoj objavi putem API-ja, jednostavno dodajte ID objave na kraj URL-a tako izgleda ovako:“example.com/wp-json/wp/v2/posts/123”

Ako želite pretraživati ​​postove koji koriste određenu frazu ili ključnu riječ, koristite ovu rutu: “/wp/v2/posts? =pretraga[ umetnite ključnu riječ ovdje ]” tako da URL izgleda ovako: “example.com/wp-json/wp/v2/posts?pretraživanje[ umetnite ključnu riječ ovdje ].

Ako želite pristupiti profilu određenog korisnika putem API-ja, ruti dodajte “/users/” kao i korisnički ID tog korisnika. URL izgleda ovako: “example.com/wp-json/wp/v2/users/2”. Slično, ako želite pristupiti korisnicima web-mjesta, ispustite ID tako da URL izgleda ovako: “example.com/wp-json/wp/v2/users/”.

Ovdje možete vidjeti više krajnjih točaka .

Proširenje REST API-ja

Preskočit ćemo nekoliko koraka i naučiti kako koristiti svojstva REST API-ja za njegovo proširenje. Trebali biste naučiti nešto o stvarima kao što su globalni parametri, označavanje stranica, povezivanje i ugrađivanje te provjera autentičnosti prije nego što to učinite, ali ćemo preskočiti naprijed u svrhu ovog vodiča za brzi početak.

Evo nekoliko stvari koje možete ostvarite proširenjem REST API-ja:

  • Dodajte prilagođene krajnje točke
  • Stvorite rute za prilagođene vrste postova i prilagođene taksonomije
  • Izmijenite odgovore

Ako ste iskusni programer, vjerojatno ste već upoznati s konceptima potrebnim za dodavanje prilagođene krajnje točke u REST API. Samo je stvar naučiti kako to dvoje povezati.

Počet ćete stvaranjem funkcijekoji može biti jednostavan ili kompliciran ovisno o sofisticiranosti funkcionalnosti koju pokušavate dodati u REST API. Evo jednostavne funkcije koju WordPress nudi u svom priručniku, funkcije osmišljene za dohvaćanje naslova najnovijih postova vaše web stranice prema autoru:

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

Nakon toga, morat ćete registrirati rutu kako bi ova funkcija bila dostupna API pomoću druge funkcije pod nazivom register_rest_route. Evo funkcije koju WordPress koristi za registraciju rute za prethodnu funkciju:

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

Ovdje se događa nekoliko stvari. Prvo, postoje tri svojstva koja prolaze kroz ovu funkciju. To su prostor imena ("myplugin/v1"), ruta koju trebamo registrirati ("my_awesome_func") i opcije koje želimo koristiti ("author/(?P\d+)"). Funkcija register_rest_route također se poziva na funkciju povratnog poziva pod nazivom "rest_api_init". Time se smanjuje količina nepotrebnog rada koji se obavlja kada se API ne koristi.

Kao što WordPress objašnjava, ova je ruta dizajnirana da odgovara bilo čemu s “/author/{id}” gdje je “{id }” je cijeli broj. Ovo je URL koji biste posjetili da koristite ovu rutu – //example.com/wp-json/myplugin/v1/author/(?P\d+) . Ova specifična ruta koristi jednu krajnju točku, ali rute mogu imati više krajnjih točaka. Možete vidjeti da smo također definirali HTTP metodu koju bi ova krajnja točka koristila.

Drugi koncepti koji će vam trebati

Postoji nekolikododatne koncepte koje ćete morati naučiti ako želite proširiti REST API, pod uvjetom da već niste upoznati s njima. Koristili smo prostor naziva u gornjoj funkciji, zbog čega je prvi dio gornjeg URL-a "mojplugin/v1". Koriste se kao prefiksi za sprječavanje sukoba s prilagođenim rutama.

Argumenti su još jedan koncept s kojim biste trebali biti upoznati jer vam omogućuju pokretanje sanacije i provjere tako da ih registrirate kada registrirate rute. Također biste se trebali upoznati s povratnim vrijednostima jer je to ono što ćete koristiti za definiranje vrste odgovora koji primate od poslužitelja. Možete ih čak koristiti za vraćanje pogrešaka, kao što je pogreška 404 koja se prikazuje ako autor nije objavio nijedan post.

Povratni pozivi su još jedan koncept koji biste trebali znati, poput funkcija poznatih kao povratni pozivi dozvola koje provjeravaju jesu li ili ne korisnik može izvesti radnju prije nego što funkcija pokuša pozvati stvarni povratni poziv. Konačno, upoznavanje s internim klasama i uzorcima kontrolera pomoći će vam u upravljanju svakim aspektom krajnjih točaka koje stvorite.

Završne misli & kamo ići odavde

Razumijevanje ključnih koncepata WordPress REST API-ja i učenje kako ga koristiti i proširivati ​​može biti neodoljivo, ali kreatori WordPressa prilično su uvjereni da će to biti snaga CMS-a na različite načine treba rasti daleko iznad svojih mogućnosti kao platforme za izgradnju

?>

Patrick Harvey

Patrick Harvey iskusan je pisac i digitalni trgovac s više od 10 godina iskustva u industriji. Ima veliko znanje o raznim temama kao što su bloganje, društveni mediji, e-trgovina i WordPress. Njegova strast za pisanjem i pomaganjem ljudima da uspiju na mreži nagnala ga je da stvara pronicljive i zanimljive postove koji pružaju vrijednost njegovoj publici. Kao iskusan korisnik WordPressa, Patrick je upoznat s detaljima izrade uspješnih web stranica i koristi to znanje kako bi pomogao tvrtkama i pojedincima da uspostave svoju online prisutnost. S oštrim okom za detalje i nepokolebljivom predanošću izvrsnosti, Patrick je posvećen pružanju svojim čitateljima najnovijih trendova i savjeta u industriji digitalnog marketinga. Kad ne piše blog, Patricka se može pronaći kako istražuje nova mjesta, čita knjige ili igra košarku.