Uno sguardo all'API HTTP di WordPress una revisione

Una delle sfide che si presenta con la scrittura di una serie su un'API - o anche parte di un'API - è che è difficile coprire ogni aspetto di detta API senza spendere troppo tempo per immergersi in una parte e tentare contemporaneamente di non sfogliare semplicemente la parte superiore di ciascuna API senza fornire sufficienti informazioni pratiche.

Caso in questione: durante l'ultima serie, abbiamo dato un'occhiata all'API HTTP di WordPress. In particolare, abbiamo coperto wp_remote_get e wp_remote_post, e abbiamo svolto un lavoro relativamente ampio con entrambe le funzioni, inclusa la costruzione di progetti di esempio.

Il fatto è che c'è ancora molto terreno che potrebbe essere coperto dall'API HTTP di WordPress. In futuro, potremmo fare una serie avanzata su più aspetti dell'API, ma per ora esaminiamo tutto ciò che abbiamo trattato in questa serie.


Ma in primo luogo, perché un sommario?

Scrivere una serie relativamente lunga su un paio di funzioni può coprire molto terreno. Il problema con questo è che se in qualsiasi momento in futuro dovessi fare riferimento a una parte, potresti non ricordare esattamente dove si trovavano le informazioni.

Oppure, forse peggio, potresti dover percorrere una quantità significativa di informazioni per trovare l'unico aspetto di cui hai bisogno per continuare a fare progressi sul tuo lavoro.

E sicuramente, puoi sempre fare riferimento all'indice delle serie, ma per dare una "guida rapida" di sorta, ho pensato che potrebbe essere utile riassumere gli articoli, le funzioni e le note di alto livello riguardanti il ​​segmento dell'API che abbiamo coperto nel caso abbiate bisogno di un riferimento per il vostro lavoro.

Ovviamente, si noti che è sempre possibile visualizzare la serie nella sua interezza nella pagina di elenco della serie.


Richieste remote

Prima di esaminare ciascuna funzione, ricordare che una richiesta remota può essere definita come il processo mediante il quale un server inoltra una richiesta a un altro server.

In generale, un server può semplicemente inviare dati all'altro server, che poi lo faranno fare qualcosa con esso (sia esso salva i dati, elabora i dati e così via), e può eventualmente inviare una risposta.

Ad alto livello, quello è una richiesta remota. Per ulteriori informazioni su questa particolare idea, assicurati di dare un'occhiata a questo post.


wp_remote_get

wp_remote_get è una funzione che fa parte dell'API HTTP di WordPress responsabile della creazione OTTENERE richieste.

La funzione accetta:

  • Un URL a cui viene effettuata la richiesta
  • La matrice di argomenti da inviare insieme alla richiesta

Se sei il principale responsabile recupero informazioni dal server, quindi questa è la funzione che si desidera utilizzare.

In secondo luogo, se hai bisogno di più di un URL o più controllo sulla richiesta che ti viene inviata, puoi rivedere questo articolo per esaminare tutti gli argomenti che accetta.

Come funziona?

Successivamente nella serie, abbiamo creato un plug-in effettivo che avrebbe fatto leva wp_remote_get per consentirci di recuperare il numero di follower per un determinato account Twitter, nonché l'ultimo tweet inviato da detto account Twitter.

Lo scopo principale di questo articolo e questa demo era di dare un esempio pratico di come usare wp_remote_get in un "mondo reale". Per il codice sorgente completo per la demo di lavoro, assicurati di rivedere l'articolo associato.

Cosa viene restituito?

Perché wp_remote_get è focalizzato su recupero informazioni, ha senso solo che ci aspettiamo una risposta, giusto? Nel rivestimento dell'articolo finale wp_remote_get, abbiamo esaminato cosa viene restituito esattamente dal server e come WordPress lo formatta per il nostro utilizzo.

Se, nel corso del tuo lavoro, hai difficoltà a decifrare esattamente ciò che sta tornando dal server (o perché non funziona come previsto), allora questo è l'articolo da recensire.


wp_remote_post

Proprio come wp_remote_get è responsabile della realizzazione OTTENERE richieste, wp_remote_post è responsabile della realizzazione INVIARE richieste.

Proprio come con il wp_remote_get, wp_remote_post accetta gli stessi argomenti:

  • L'URL a cui viene effettuata la richiesta
  • Una serie di argomenti che aiutano ad adattare la richiesta al server

Ma c'è una differenza fondamentale nello scopo di questa funzione e in quella precedente che è discussa. La differenza è cosa succede quando la richiesta è completata.

Proprio come wp_remote_get è principalmente usato per recuperare dati, wp_remote_post è abituato a inviare dati attraverso il filo da elaborare - una risposta non può mai essere restituita.

Per il rilevamento iniziale di questa particolare funzione - cosa accetta, incluso l'elenco avanzato di argomenti - consulta questo articolo.

Come funziona?

Proprio come abbiamo fatto con wp_remote_get, abbiamo creato un plugin per dimostrare come wp_remote_post funziona all'interno del più ampio contesto di un tema WordPress.

Sebbene il plugin sia su GitHub come riferimento, passiamo attraverso l'intera prima versione del plugin nel seguente articolo. Nello specifico, illustriamo come effettuare la richiesta a uno script responsabile della ricezione $ _POST dati e quindi come può formattare e restituire una risposta al chiamante.

Cosa viene restituito?

Nell'articolo finale della serie, abbiamo completato il plugin usando LESS per dare al plugin un aspetto leggermente più gradevole, e abbiamo completato il plugin in modo tale che in realtà risparmi alcuni dati di risposta nel database solo per dare un'idea su come questo può essere raggiunto.


Conclusione

I post riepilogativi sono un nuovo territorio - almeno per me - poiché ho storicamente lasciato che la mia serie si reggesse da sola, ma ho pensato che sarebbe stato un buon riferimento fornire considerando di aver coperto così tanto terreno della serie.

Reiterare:

  • Ecco l'elenco completo degli articoli della serie
  • Questo è un link al wp_remote_get codice sorgente
  • Ecco il wp_remote_post progetto su GitHub

Detto questo, fammi sapere se preferisci i post di sintesi o no. Come ho già detto, questo è qualcosa che normalmente non faccio, ma se aiuta a fornire un punto di riferimento per voi ragazzi, allora sono felice di continuare a farlo per le serie future ".