Fornire un servizio HTTP tramite plugin WordPress

14 ott 2016, 07:17:25
Visualizzazioni: 60
Voti: 0

Questo post è l'originale su https://stackoverflow.com/q/40018619/306719, ma non ha ricevuto attenzione, e ho trovato questo sito, quindi penso che qui possa essere il posto giusto, e richiederò un reindirizzamento per il post originale.


Voglio fornire un servizio basato su HTTP per inserire nuovi post con informazioni aggiuntive, penso che un plugin WordPress possa essere la soluzione giusta.

Tuttavia non sono sicuro di come iniziare anche dopo aver letto la documentazione sui plugin di WordPress.

Penso che dovrebbe esserci qualche azione come request_recieve dove posso registrarmi per intercettare la richiesta e fare il mio lavoro, ma non riesco a trovarla. Inoltre, come evitare di bloccare le normali richieste di WordPress.

6
Commenti

servizio basato su http? Potresti provare con l'API REST di WP.

bravokeyl bravokeyl
14 ott 2016 07:21:02

Wordpress fornisce HTTP_API. Controlla.

AddWeb Solution Pvt Ltd AddWeb Solution Pvt Ltd
14 ott 2016 07:24:04

@bravokeyl: L'API REST non soddisfa le mie esigenze. Quando ricevo una richiesta non solo devo validarla/inserirla nel database ma devo anche fare del lavoro extra. E restituire una risposta diversa al client.

hguser hguser
14 ott 2016 07:32:35

@AddWebSolutionPvtLtd: Non ho intenzione di inviare una richiesta http da WordPress ma di ricevere una richiesta.

hguser hguser
14 ott 2016 07:33:20

@hguser: HTTP_API, riguarda tutti i trasporti http (cioè inviare, recuperare) non solo inviare. Spero tu abbia controllato la sezione Helper Functions dal link HTTP_API fornito.

AddWeb Solution Pvt Ltd AddWeb Solution Pvt Ltd
14 ott 2016 07:43:27

@AddWebSolutionPvtLtd: Ho ricontrollato, e sembra che il HTTP_API possa essere utilizzato per far funzionare WordPress come client, mentre quello che mi serve è far funzionare WordPress come server con endpoint aggiuntivi che gestiranno le richieste dal client. Qualcosa come il WP rest api

hguser hguser
14 ott 2016 09:01:25
Mostra i restanti 1 commenti
Tutte le risposte alla domanda 1
0

Ora uso l'hook init per aggiungere il mio processo personalizzato alla richiesta, e poi verifico se la richiesta deve essere gestita dal plugin. Se sì, la processo e termino, altrimenti non faccio nulla. In questo modo:

add_action('init',function(){
  if(should_intercepte_the_request()){
    //elabora la richiesta
    //termina
    die("foo");
  }else{
    //non fare nulla
  }
});

Puoi quindi accedere all'HTTP tramite: http://localhost

Si consiglia di verificare il metodo della richiesta e un token di accesso per assicurarsi che le richieste siano inviate da una fonte attendibile.

18 ott 2016 05:26:08