Este wp_mail în teritoriul plugin-urilor?

21 dec. 2016, 11:01:56
Vizualizări: 288
Voturi: 0

Recent am dat peste această întrebare și m-am întrebat dacă apelarea funcției wp_mail() într-o temă este permisă conform standardelor WordPress. Trebuie să clarific că nu o suprascriu ca funcție pluggable în tema, ci doar o apelez dacă există.

Întreb aici pentru că am căutat acest lucru dar nu am găsit un răspuns clar care să spună ceva în acest sens.

0
Toate răspunsurile la întrebare 3
0

WordPress oferă o mulțime de funcții pe care le poți utiliza, inclusiv funcția wp_mail(). Această funcție nu este doar în sfera plugin-urilor, ci este folosită frecvent și în nucleul platformei.

Dacă dorești să modifici comportamentul acesteia, folosește filtrul și acțiunile (hooks) care sunt incluse în nucleu pentru a influența comportamentul funcției. De exemplu, pentru această funcție există hook-ul de filtru wp_mail, vezi aici în sursă. Aceasta este o posibilitate de a schimba comportamentul funcției wp_mail().

Funcția wp_mail() este, de asemenea, "pluggable" și poate fi înlocuită cu o nouă funcție cu același nume. Toate funcțiile din wp-includes/pluggable.php au o verificare dacă funcția există deja. Acest lucru oferă dezvoltatorilor șansa de a înlocui funcția cu modificări la funcționalitate.

21 dec. 2016 11:07:42
2

Deși wp_mail() nu este exact interzis într-o temă, este foarte probabil să fie plasat greșit acolo. Scopul unei teme este prezentarea. Nu ar trebui să modifice date existente și ar trebui să fie întotdeauna ușor de înlocuit.

Acesta este motivul pentru care formularele de contact, sondajele, magazinele, urmărirea și funcționalități similare aparțin exclusiv plugin-urilor. Nu există un context pentru wp_mail() într-o temă.

21 dec. 2016 11:13:55
Comentarii

Este interesant, deoarece acest autor WordPress care pare credibil scrie contrariul: https://code.tutsplus.com/tutorials/a-guide-to-overriding-parent-theme-functions-in-your-child-theme--cms-22623: "Funcțiile pluggable sunt ceva ce implementezi în tema părinte, așa că nu îți vor fi de folos dacă lucrezi cu o temă părinte existentă care nu le are."

Alex C Alex C
21 dec. 2016 11:20:52

@AlexC Eu vorbesc doar despre wp_mail(), nu despre funcțiile pluggable în general. Deși este un concept groaznic.

fuxia fuxia
21 dec. 2016 11:22:47
0

Nu este absolut nimic în neregulă cu apelarea funcției wp_mail() într-o temă. Este o funcție de bază care este menită să fie utilizată.

17 mai 2019 02:51:47