Cum se conectează la funcțiile de fișier ale unor terțe părți în forumurile de suport - wordpress

Pluginul are 2 fișiere.
Unul principal și un alt ajutor, doar pe php, la care datele sunt trimise de la un alt site.

Pentru a lucra al doilea, aveți nevoie de 3 funcții de la VI:






get_option
global $ wpdb; - să lucreze cu baza de date
wp_mail
Pentru ca ei să lucreze, am scris:

Dar când verificați plugin-ul când adăugați la director, ați scris următoarele: cum vă puteți conecta la moderatori pentru a accepta pluginul?

Se apelează fișierele de încărcare de bază direct

Inclusiv wp-config.php, wp-blog-header.php, wp-load.php, sau destul de mult orice alt WordPress fișier de bază pe care trebuie să apelați direct prin intermediul unei includ nu este o idee bună și nu putem aproba un plugin are un motiv foarte bun pentru a încărca fișierul (fișierele). Este predispus la eșec, deoarece nu toate instalările WordPress au exact aceeași structură de fișier.

De obicei, plugin-uri vor include wp-config.php sau wp-load.php pentru a avea acces la funcțiile de bază WordPress, dar există modalități mult mai bune de a face acest lucru. Este cel mai bine dacă vă legați funcțiile de procesare (cele care au nevoie, dar nu au acces la funcțiile de bază), într-un cârlig de acțiune, cum ar fi «init» sau «admin_init».

Dacă încerci să-l utilizați pentru că aveți nevoie pentru a accesa funcțiile WordPress în afara WordPress, am de fapt, mai degrabă nu ai făcut asta deloc. Pluginul dvs. trebuie să fie în interiorul WordPress, accesibil doar persoanelor conectate și autorizate, dacă are nevoie de acest tip de acces. Paginile pluginului dvs. ar trebui să fie apelate prin tabloul de bord, ca toate celelalte setări.

  • Subiect modificat acum 1 an de către lexsar777.
  • Subiect modificat acum 1 an de către lexsar777.
  • Subiect modificat acum 1 an de către lexsar777.

În ceea ce privește __FILE__
Poate că am înțeles greșit, dar am scris acest lucru:
(Nume de funcții, clase, și Haydee - redenumit unikalnyeYu au fost și nu au înțeles despre fișier, dar există câteva exemple de link-urile utilizate, deoarece plugins_url ..)
## Numele funcțiilor generice (și / sau definite)

Toate pluginurile ar trebui să aibă nume de funcții unice, definite și nume de clasă. Acest lucru va împiedica pluginul dvs. să contravină altor pluginuri sau teme.

De exemplu, dacă plugin-ul dvs. este numit "Tipuri simple de postări personalizate", atunci vă puteți prefixa funcțiile cu ecpt_. În mod similar, o definiție a LICENȚEI ar fi mai bine făcută ca ECPT_LICENSE. Puteți utiliza în schimb spațiile de nume, dar asigurați-vă că acestea sunt și ele unice. Un spațiu de nume sau o clasă de "MyPlugin" NU este de fapt tot ceea ce este unic, vezi tu.







Aceasta se extinde la orice lucru definit. De exemplu ...

define ('PLUGIN_PATH', plugins_url (__FILE__));

Aceasta definire este globală, astfel încât PLUGIN_PATH ar putea intra în conflict cu o serie de alte lucruri.

În mod similar, nu folosiți __ pentru a prefixa, deoarece dublule subliniere ar trebui să fie rezervată pentru WordPress în sine.

Și cum altceva să testez?
Acum nu am accesat browserul manual. Pluginul nu a funcționat. Scrisoarea nu a venit. Ceea ce nu este clar. Dar dacă puteți vedea cu mâinile că nu vă place ceea ce ați scris mai sus.

Nu, nu este. Motorul ar trebui trimis, nu un script specific. Și motorul va apela funcția din scenariu. CallBack este apelat

Și cum să trimiteți direct motorul? Acest site are un colbec. Iată informațiile:

  • Răspunde actualizat acum 1 an de către lexsar777.
  • Răspunde actualizat acum 1 an de către lexsar777.
  • Răspunde actualizat acum 1 an de către lexsar777.

Și la serviciul terță parte ca apel invers, specificați // yourdomain / mycallback /.

P.S. Cod pentru orientare, nu pentru copiere.

Mulțumesc. Ce am făcut greșit?
în fișierul cu funcția de trimitere pentru verificare, a indicat următorul coleg:
$ PostQuery [# '# callback'] = $ _SERVER [# '# SERVER_NAME'] # '/ mycallback #' .;

în fișierul principal

gândul, poate că problema nu este suficientă

vseravno nu funcționează

poate mycallback - trebuie să specificați calea către fișierul plugin?

Sunteți sigur că aceasta produce adresa URL corectă?

vseravno nu funcționează

Pentru verificare, vă puteți preface că apelați. În cazul în care nu există instrumente speciale, pot fi într-o grabă pentru a scrie HTML-forma cu acțiunea și parametrilor necesari, se poking prezinte și de ceas ceea ce se numește.

poate mycallback - trebuie să specificați calea către fișierul plugin?

Fișierul cu handlerul ar trebui să fie conectat fie ca un plugin, fie ca o includere în plugin.

Sunt confuz
Voi scrie paragrafele tuturor, inclusiv și mi-a fost mai clar ce funcționează și ce este necesar în cele din urmă:

Există 3 fișiere.
Fișierul1 - fișierul plug-in (setarea parametrilor + atunci când salvează o postare se numește Fișier2)
Fișier2 - îndeplinește funcția de a trimite text de la fișier1 pentru a verifica gramatica și alte site terță parte, la identificatorul de ieșire, care este introdus prin FIȘIER1 înapoi în baza de date PE.
În fișierul 2 este specificat un apel invers, unde să se trimită rezultatul verificării, adică în File3
Fișier3 - când primiți solicitări POST de la un site terță parte, rezultatele sunt trimise la e-mail.
File3 Am combinat cu File1 - așa cum am sugerat mai sus.
În prezent, pentru test, a oprit-o complet. și în loc de ea:

Sunteți sigur că aceasta produce adresa URL corectă?

Fișierul cu handlerul ar trebui să fie conectat fie ca un plugin, fie ca o includere în plugin.

Pe e-mailul vseravno nu există rapoarte cu rezultate care să vină.

în grabă pentru a scrie un formular html cu acțiunea și parametrii necesari, pentru a-l împinge și pentru a vedea ce se numește.

Unde să-l creați? în ce dosar?
ce fel de acțiune este necesară? Ce parametri să prescrieți și unde?
Dacă înțeleg corect, atunci trebuie să scriu în fișier2 După aceea, l-am rula direct

în forma a scris:

apoi în browser-ul rulați acest fișier. Și dă

Fatal error: Chemare la funcția register_activation_hook nedefinit () în /home/admin/web/default.domain/public_html/wp-content/plugins/myplugin/myplugin.php pe linia 50







Articole similare

Trimiteți-le prietenilor: