La funzione wp_mail è territorio dei plugin?

21 dic 2016, 11:01:56
Visualizzazioni: 288
Voti: 0

Recentemente mi sono imbattuto in questo dubbio e mi chiedevo se chiamare wp_mail() in un tema sia consentito o meno secondo gli standard di WordPress. Vorrei chiarire che non la sto sovrascrivendo come funzione pluggable nel tema, la sto semplicemente chiamando se esiste.

Sto chiedendo qui perché ho cercato questa informazione ma non ho trovato una risposta chiara che affermi qualcosa del genere.

0
Tutte le risposte alla domanda 3
0

WordPress offre molte funzioni che puoi utilizzare, inclusa la funzione wp_mail(). Questa funzione non è solo territorio dei plugin, il core la utilizza frequentemente.

Se vuoi modificare il comportamento, utilizza i filtri e gli action hook presenti nel core per influenzare il comportamento della funzione. Ad esempio, per questa funzione è disponibile il filter hook wp_mail, come puoi vedere qui nel sorgente. Questa è una possibilità per modificare il comportamento di wp_mail().

La funzione wp_mail() è anche "pluggable" e può essere sostituita da una nuova funzione con lo stesso nome. Tutte le funzioni in wp-includes/pluggable.php hanno un controllo per verificare se la funzione esiste. Questo offre agli sviluppatori la possibilità di sostituire la funzione apportando modifiche alla funzionalità.

21 dic 2016 11:07:42
2

Sebbene wp_mail() non sia esattamente vietato in un tema, è molto probabile che sia fuori posto lì. Lo scopo di un tema è la presentazione. Non dovrebbe modificare i dati esistenti e dovrebbe sempre essere facile da sostituire.

Questo è il motivo per cui moduli di contatto, sondaggi, negozi, tracciamento e funzionalità simili sono territorio esclusivo dei plugin. Non c'è alcun contesto per wp_mail() in un tema.

21 dic 2016 11:13:55
Commenti

È interessante, poiché questo autore di WordPress che sembra autorevole scrive il contrario: https://code.tutsplus.com/tutorials/a-guide-to-overriding-parent-theme-functions-in-your-child-theme--cms-22623: "Le funzioni pluggable sono qualcosa che codifichi nel tema genitore, quindi non ti saranno utili se stai lavorando con un tema genitore esistente che non le ha."

Alex C Alex C
21 dic 2016 11:20:52

@AlexC Sto parlando specificamente di wp_mail(), non delle funzioni pluggable in generale. Anche se è un concetto terribile.

fuxia fuxia
21 dic 2016 11:22:47
0

Non c'è assolutamente niente di sbagliato nel chiamare wp_mail() in un tema. È una funzione core pensata per essere utilizzata.

17 mag 2019 02:51:47