Un'introduzione all'API REST di WordPress

Pubblicato: 2022-10-19

Nel dicembre del 2016, con il rilascio di WordPress 4.7, si è verificata una pietra miliare a lungo dibattuta: l'API REST di WordPress è stata ufficialmente inclusa come parte di WordPress Core.

Sebbene l'API REST esistesse come plug-in prima dell'unione ufficiale in core, la sua successiva inclusione ha suscitato un bel po' di dibattito, con argomentazioni sia per la sua inclusione che per la necessità di ulteriori test.

Alla fine, l'API REST è stata unita a Core e ora alimenta il Block Editor, nonché molte integrazioni e interfacce di terze parti con i siti WordPress sul web.

Tuttavia, per molti utenti di WordPress, questa è stata la prima volta che hanno sentito parlare dell'API REST di qualsiasi tipo, figuriamoci di una integrata così strettamente in WordPress.

Quindi, in questo articolo, daremo un'occhiata a cos'è un'API REST, in che modo l'API REST di WordPress è unica e alcuni esempi di come funziona e alcuni dei tipi di tecnologia che sono abilitati ora che è inclusa in WordPress Nucleo.

Cos'è un'API REST?

Il termine API REST è in realtà due acronimi in uno ed entrambi sono importanti per capire come funziona l'API REST di WordPress e cosa fa.

Cos'è il RIPOSO?

La prima parte, REST, sta per REpresentational State Transfer. Detto nel modo più semplice possibile, questa è una specifica che definisce come due risorse separate sul web dovrebbero comunicare tra loro. Queste due interfacce potrebbero essere due siti Web diversi, un server Web, un'applicazione mobile e molto altro.

Un servizio che segue questa specifica viene spesso definito servizio RESTful e funziona per garantire che il client che richiede informazioni non debba sapere nulla sullo stato del server e su come il client e il server possono essere più modulari e separati rispetto ad altri metodi di trasporto dei dati attraverso Internet.

In sostanza, se uno sviluppatore sa che sta interagendo con un servizio RESTful, può formulare determinate ipotesi su come verranno formattate le sue richieste e sul tipo di dati che riceverà in cambio, il che è molto utile quando si sviluppano tecnologie interconnesse.

Se vuoi approfondire esattamente ciò che costituisce un servizio RESTful e come vengono effettuati questi tipi di richieste, ti consiglio vivamente di dare un'occhiata all'articolo di Codecademy intitolato Cos'è REST?

Cos'è un'API?

API è l'acronimo di Application Programming Interface e, come suggerisce il nome, fornisce un'interfaccia per altri client e servizi sul Web per interagire con una particolare applicazione. Specifica gli endpoint, in genere gli URL, dove i dati possono essere inviati, se questi URL restituiscono dati o creano risorse sul server e se è richiesto un particolare tipo di autenticazione per accedere a questi endpoint.

Per molti servizi popolari oggi sul Web, le API forniscono un modo automatizzato per fare ciò che un utente potrebbe fare manualmente, consentendo a uno script oa una parte di codice di eseguire la stessa azione con un utente presente. Ad esempio, se usi Reddit e ti ritrovi a scrivere lo stesso tipo di commento su molti dei thread che navighi, puoi creare uno script che cerchi Reddit per quei tipi di commenti e pubblichi automaticamente la tua risposta standard tramite l'API di Reddit.

Esponendo la propria infrastruttura tramite un'API, gli utenti non devono fare affidamento su fragili metodi di web scraping per automatizzare questo tipo di attività e Reddit può tenere traccia di chi accede alle proprie risorse tramite l'API, quanto spesso lo fa e controllare per l'utilizzo che è al di fuori dei loro termini di servizio.

Perché WordPress aveva bisogno di un'API REST?

Se hai mai effettuato richieste di tipo API a WordPress prima che l'API REST facesse parte di Core, potresti avere familiarità con il concetto di admin-ajax. Questo era il modo originale di fare richieste come questa in WordPress, dove ogni richiesta veniva instradata attraverso il file admin-ajax.php, verificata per eventuali azioni specifiche che gli sviluppatori di qualsiasi plugin o tema attivo avevano registrato, e quindi utilizzato quelle funzioni registrate per soddisfare le richieste.

Come ci si potrebbe aspettare, ciò significava che ogni sviluppatore che utilizzava richieste di tipo API abilitava questa funzionalità come parte del proprio plug-in o tema lo faceva in modo leggermente diverso e chiunque volesse interagire con questa funzionalità doveva familiarizzare con il modo in cui ogni plug-in o tema era costruito. L'API REST di WordPress è stata introdotta per standardizzare il modo in cui queste richieste sono state effettuate e fornire un set di endpoint molto più ampio che potrebbe essere utilizzato per interagire con WordPress Core stesso.

Una richiesta di esempio all'API REST di WordPress

Il Manuale dell'API REST di WordPress mantiene un elenco completo degli endpoint supportati nell'API REST di WordPress. E mentre è bello avere un elenco completo, può essere un po' opprimente. Diamo un'occhiata a quella che potrebbe essere considerata la funzionalità più basilare di qualsiasi interazione API: recuperare la risorsa di base dell'API. Nel caso di WordPress, quella risorsa viene pubblicata.

Tutti gli endpoint dell'API REST di WordPress hanno come prefisso il percorso URL wp-json tra il dominio principale e ciò che il Manuale dell'API REST chiama Base Route . Ciò significa che se stiamo accedendo all'endpoint per elencare i post del sito e l'URL del nostro sito era example.com , avremmo bisogno di fare una richiesta all'URL https://example.com/wp-json/wp/v2/posts .

Effettuare una richiesta GET, semplicemente caricando quell'URL nel tuo browser Web preferito o utilizzando un browser API come Postman, dovrebbe restituirti un elenco di post dall'API, anche se potrebbero non essere in un formato che sei utilizzato A. Se tutto ciò che vedi è una lunga stringa di testo, stai guardando un formato di dati noto come JSON. Se accedi all'endpoint API tramite il tuo browser e desideri esaminare queste informazioni in un formato più leggibile, ti consiglio di installare l'estensione JSON Viewer. Questo rileverà qualsiasi output nel tuo browser che è JSON e lo formatterà in modo che tu possa leggerlo più facilmente. Con questo installato, dovresti vedere l'output dei dati post dall'API REST di WordPress e hai effettuato con successo la tua prima richiesta API REST!

Un esempio di come appaiono i dati dell'API REST di WordPress quando vengono visualizzati in un browser con l'estensione JSON Viewer installata

Cos'altro può fare l'API REST di WordPress?

Oltre a recuperare un elenco degli ultimi post su un sito WordPress, guardando l'Endpoint Reference, vedrai che ci sono un sacco di altri modi in cui puoi interagire con l'API REST di WordPress. Se sei autenticato come utente WordPress, puoi pubblicare post tramite l'API, ottenere un elenco di temi disponibili per il sito, visualizzare e modificare le impostazioni e molte delle altre funzionalità disponibili per l'interazione manuale tramite wp-admin .

Alcuni esempi dell'API REST di WordPress in azione

Esporre la possibilità di interagire con WordPress attraverso l'API REST ha aperto una vasta gamma di possibilità di siti che ora potrebbero utilizzare WordPress come back-end per la gestione dei contenuti.

TechCrunch : Poco dopo l'annuncio dell'API REST di WordPress, TechCrunch ha annunciato di aver ricostruito il proprio sito utilizzando un'architettura senza testa, il che significava che stavano utilizzando WordPress sul back-end come sistema di gestione dei contenuti, pur essendo in grado di utilizzare una "pagina singola style React app” sul frontend.

Block Editor (Gutenberg) : forse l'utilizzo dell'API REST di cui la maggior parte delle persone ha beneficiato è il Block Editor di WordPress. Ora l'editor principale in WordPress, gran parte della funzionalità Block Editor è abilitata dal fatto che può interagire con gli endpoint dell'API REST di WordPress senza

Tutti i tipi di progetti della comunità : quando l'API REST veniva considerata per la prima volta per unire in un core, è stata lanciata una chiamata pubblica chiedendo alle persone di parlare di più su come stavano usando l'API REST. Le risposte erano molto ampie, cosa che ci si può aspettare da una comunità grande come WordPress, ma includevano di tutto, dai plug-in con interfacce più interattive di quanto fosse possibile in precedenza alle persone che costruivano app mobili per i propri clienti che potevano consumare i contenuti di WordPress.

Avvolgendo

Anche se non hai alcuna esperienza con l'utilizzo delle API, probabilmente hai utilizzato qualcosa a un certo punto della tua carriera che si basa sull'API REST di WordPress per funzionare. Man mano che le interfacce continuano a diventare più dinamiche e i siti Web iniziano ad avere più azioni che non richiedono il caricamento di una pagina.

Ora che sai cos'è l'API REST di WordPress, potresti pensare ad alcune cose che puoi costruire con essa! L'API REST può sicuramente essere uno strumento potente nella tua cassetta degli attrezzi per creare temi e plugin WordPress ancora migliori.

Se hai bisogno di ulteriori chiarimenti o di alcuni esempi di ciò che è possibile, dai un'occhiata ai documenti ed entra subito!