Oferă serviciu HTTP prin plugin WordPress

14 oct. 2016, 07:17:25
Vizualizări: 60
Voturi: 0

Acest post este postul original de la https://stackoverflow.com/q/40018619/306719, dar nu a primit atenție, iar eu am găsit acest site, așa că cred că aici ar putea fi locul potrivit și voi cere o redirecționare pentru postul original.


Doresc să ofer un serviciu bazat pe HTTP pentru a insera noi postări cu informații suplimentare, cred că un plugin WordPress ar putea fi soluția potrivită.

Cu toate acestea, nu sunt sigur cum să încep, chiar dacă am citit documentația pentru plugin-uri de la WordPress.

Cred că ar trebui să existe o acțiune precum request_recieve unde m-aș putea înregistra pentru a intercepta cererea și a-mi face treaba, dar nu o găsesc. De asemenea, cum să evit blocarea cererilor normale WordPress.

6
Comentarii

serviciu bazat pe http? Poți încerca WP rest api.

bravokeyl bravokeyl
14 oct. 2016 07:21:02

Wordpress oferă HTTP_API. Verifică-l.

AddWeb Solution Pvt Ltd AddWeb Solution Pvt Ltd
14 oct. 2016 07:24:04

@bravokeyl: Rest api nu îmi satisface cerințele. Când primesc o cerere, nu doar că o voi valida/insera în baza de date, dar va trebui să fac și alte operații suplimentare. Și să întorc un răspuns diferit clientului.

hguser hguser
14 oct. 2016 07:32:35

@AddWebSolutionPvtLtd: Nu voi trimite cereri HTTP din WordPress ci voi primi cereri.

hguser hguser
14 oct. 2016 07:33:20

@hguser: HTTP_API, este despre transporturi HTTP (adică trimitere, preluare) nu doar trimitere. Sper că ai verificat secțiunea Funcții Helper din linkul HTTP_API oferit.

AddWeb Solution Pvt Ltd AddWeb Solution Pvt Ltd
14 oct. 2016 07:43:27

@AddWebSolutionPvtLtd: Am verificat din nou și se pare că HTTP_API poate fi folosit pentru a face WordPress să funcționeze ca client, în timp ce ceea ce am nevoie este să fac WordPress să funcționeze ca server cu endpoint-uri suplimentare care să gestioneze cererile de la client. Ceva similar cu WP rest api

hguser hguser
14 oct. 2016 09:01:25
Arată celelalte 1 comentarii
Toate răspunsurile la întrebare 1
0

Acum folosesc hook-ul init pentru a adăuga propriul proces pentru cerere, apoi verific dacă cererea ar trebui gestionată de plugin, dacă da, procesez și ies, dacă nu, nu fac nimic. Ca aceasta:

add_action('init',function(){
  if(should_intercepte_the_request()){
    //procesează cererea
    //ieși
    die("foo");
  }else{
    //nu face nimic
  }
});

Apoi poți accesa http prin: http://localhost

Este recomandat să verifici metoda de cerere și un token de acces pentru a te asigura că cererile sunt trimise de o sursă de încredere.

18 oct. 2016 05:26:08