¿Es wp_mail territorio de los plugins?

21 dic 2016, 11:01:56
Vistas: 288
Votos: 0

Recientemente me encontré con esto y me preguntaba si llamar a wp_mail() en un tema está permitido o no según los estándares de WordPress. Debo aclarar que no estoy sobrescribiéndola como una función pluggable en el tema, solo la llamo si existe.

Pregunto aquí porque he estado buscando esto pero no encontré una respuesta clara que afirme algo al respecto.

0
Todas las respuestas a la pregunta 3
0

WordPress proporciona muchas funciones que puedes utilizar, incluyendo la función wp_mail(). Esta función no es exclusiva de los plugins, el núcleo la utiliza con frecuencia.

Si deseas modificar su comportamiento, utiliza los ganchos de filtros y acciones que están dentro del núcleo para influir en el funcionamiento de la función. Como ejemplo para esta función, está el gancho de filtro wp_mail, como puedes ver aquí en el código fuente. Esta es una posibilidad para cambiar el comportamiento de wp_mail().

La función wp_mail() también es "pluggable" y puede ser reemplazada por una nueva función con el mismo nombre. Todas las funciones en wp-includes/pluggable.php tienen una verificación para comprobar si la función existe. Esto les da a los desarrolladores la oportunidad de reemplazar la función con cambios en su funcionalidad.

21 dic 2016 11:07:42
2

Aunque wp_mail() no está exactamente prohibido en un tema, es muy probable que esté mal ubicado allí. El propósito de un tema es la presentación. No debería modificar datos existentes y siempre debería ser fácil de reemplazar.

Esa es la razón por la que los formularios de contacto, encuestas, tiendas, seguimiento y funcionalidades similares son territorio exclusivo de los plugins. No hay contexto para wp_mail() en un tema.

21 dic 2016 11:13:55
Comentarios

Es interesante, ya que este autor de WordPress que parece reputado escribe lo contrario: https://code.tutsplus.com/tutorials/a-guide-to-overriding-parent-theme-functions-in-your-child-theme--cms-22623: "Las funciones pluggables son algo que codificas en tu tema padre, por lo que no te serán útiles si estás trabajando con un tema padre existente que no las tiene."

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

@AlexC Estoy hablando específicamente de wp_mail(), no de las funciones pluggables en general. Aunque ese es un concepto terrible.

fuxia fuxia
21 dic 2016 11:22:47
0

No hay absolutamente ningún problema en llamar a wp_mail() en un tema. Es una función principal que está diseñada para ser utilizada.

17 may 2019 02:51:47