Cómo crear notificaciones por correo electrónico cada vez que se publica un artículo

Cómo crear notificaciones por correo electrónico cada vez que se publica un artículo

Para aquellos que trabajan con WordPress para desarrollar proyectos para clientes sin duda han encontrado numerosas situaciones en que se necesita ciertas características que WordPress no es compatible y / o para los que no hay plugins disponibles que realizan estas mismas acciones. Casi todos nosotros hemos pasado por una u otra de las características que realmente nos gustaría tener trabajando en nuestro proyecto. 

Y una de esas características es la notificación por correo electrónico cuando se publica un artículo en un blog con WordPress, por ejemplo. Si tienes un equipo de escritores, sería interesante que pudieras contactar con ellos cada vez que se publica un determinado contenido. Recientemente esta funcionalidad, de la que vamos a tener que trabajar con los de acción  publish_posts  y función wp_mail ya la hay y nos dice mendiante un correo electrónico si un autor a colocado contenido, por ejemplo.

Nuestro objetivo pasará por mensajes de correo electrónico en  HTML, no sólo texto de correos electrónicos, por lo que tendrás que hacer algunos ajustes para que puedas cumplir con el objetivo. Puedes utilizar el filtro change_mail_type para hacer esto:

// SET EMAIL TYPE TO HTML function change_mail_type() { return "text/html"; } add_filter ("wp_mail_content_type", "change_mail_type");

Como queremos personalizar el  nombre y dirección de correo electrónico de Autor  de correos electrónicos generados por WordPress, también tenemos que trabajar en ello. Por defecto, el nombre suele ser "WordPress" y el correo electrónico es wordpress@tudominio.com, lo cual no es aceptable para un cliente, por ejemplo. Para cambiar esto, vamos a utilizar la siguiente función:

// SET EMAIL FROM ADDRESS function change_mail_from() { return "generar@midominio.com"; } add_filter ("wp_mail_from", "change_mail_from"); // SET EMAIL FROM NAME function change_from_name() { return "Empresa, Ltd."; } add_filter ("wp_mail_from_name", "change_from_name"); 

 

Enviar correos electrónicos en el momento adecuado

Para enviar un email justo cuando se publica un contenido en particular, o una orden se lleva a cabo en la cuenta del cliente, por ejemplo, también necesitaremos escribir una función para este propósito. Si imaginamos la escena de una tienda de comercio electrónico, tenemos un tipo órdenes del tipo hbos_orders, donde toda la información de pedido, nuestro objetivo lógicamente sufre disparar un correo electrónico tan pronto como una orden se introduce en nuestro sistema , ¿correcto?

Lo que queremos hacer es disparar un correo electrónico tan pronto como se publica un post o página en particular: puedes hacerlo  usando un gancho para el tipo de mensaje personalizado en particular. Por ejemplo, publish_posts es el gancho estándar para cuando se publican los mensajes (y publish_pages a las páginas), pero si estás usando un tipo de mensaje personalizado, a continuación, el gancho se verá como publish_custom_post_type (o publish_hbos_orders este caso en particular).

Uso de la función wp_mail

La función wp_mail necesariamente requiere tres argumentos:

  • Para quién se envía el mensaje
  • Cuál es el asunto del correo electrónico
  • Lo que el contenido del correo electrónico tiene

Cómo queremos que el correo electrónico que se enviará al autor del post, vamos a utilizar el siguiente código para realizar esta acción:

$ Post = get_post ($ post_id); $ Autor = get_userdata ($ mensaje -> post_author); $ Author_email = $ autor -> user_email;

El asunto del correo electrónico no tiene que ser dinámico (aunque puede ser), por lo que vamos a utilizar:

$ Email_subject = "Nuevo artículo publicado en el Sitio XYZ";

Para construir nuestra plantilla HTML utilizará la información del artículo como the_title y get_post_meta. Vamos a ver un escenario para un posible pedido de un cliente:

ob_start (); ?>

 

user_firstname; ?>,

 

Una nueva orden se crea para ti en nuestro sistema.

Detalles:
Número de pedido:
Número de Autorización: 'order_auth_number', cierto;) ?>

Inicia sesión para Siga el orden.

Gracias,
Company, Ltd.

 

Ahora que tenemos todo listo, podemos utilizar nuestra función wp_mail y enviar un e-mail cada vez que un artículo se colocan en nuestro sistema. Poniendo todo en su lugar, que tendrá las siguientes funciones:

post_author); $author_email = $author->user_email; $email_subject = "Nueva orden creada."; ob_start(); ?>

 

Hola user_firstname; ?>,

 

Fue creada una nueva orden para este sistema.

Detalles de la orden:
Numero de orden:
Numero de Autorización: ID, 'order_auth_number', true ); ?>

Haz Login para realizer orden.

Gracias,
Empresa, Ltd.

 

Como puedes ver, hemos utilizado la función  wp_mail para enviar correo electrónico  utilizando la información recogida y disparamos la función cada vez que un artículo se publica en nuestro tipo de envío personalizado "hbos_orders" utilizando el gancho  publish_hbos_orders. Por supuesto, puedes adaptar el código a varios otros tipos de correos personalizados, o incluso en los mensajes de WordPress. Las posibilidades son infinitas.

Artículos Relacionados

Comentarios (0)

Deja un comentario

Contacto
+34 972 219161
  • Email Adaptarse.com
  • C/ Castell de Montgrí, 6,
    17007 - Girona
Horario
  • De Lunes a Viernes de 9:00 a 19:00