Si usas MailPoet seguro que ya conoces su flexibilidad y su potencia, no sólo a la hora de establecer diferentes opciones sino también a la hora de crear y personalizar boletines por correo electrónico. Y parte de esa flexibilidad y potencia se debe a los shortcodes de MailPoet.
Y no sólo los shortcodes que ya incluye. MailPoet te permite incluso crear shortcodes personalizados para incluir en tus newsletters, que te permitirán personalizar al cien por cien los boletines en función de los datos del destinatario. Incluyendo los datos que tenga en su perfil de WordPress o de WooCommerce.
Tabla de contenidos
Los shortcodes de MailPoet para los correos electrónicos
Algunos de estos shortcodes son bastante sencillos (y útiles), y vienen ya preestablecidos en MailPoet. Son los shortcodes que permiten personalizar de forma básica los boletines. Por ejemplo, con el nombre del usuario que lo va a recibir (siempre que MailPoet tenga esa información): [subscriber:firstname]
Tienes disponible para utilizar cualquier dato del usuario que tenga MailPoet en su base de datos. Para ello debes haberlo solicitado durante el registro, o haberlo añadido el usuario después editando su perfil, si lo tienes permitido en las opciones (MailPoet > Ajustes > Avanzado > Los suscriptores pueden editar su perfil).
Shortcodes de usuario, de boletín, de fecha, de enlaces
Pero no sólo tienes disponibles estos shortcodes de usuario (más abajo te doy un listado completo de los que son) sino que hay de más tipos:
- Shortcodes de usuario, que son los que ya he mencionado, que permiten insertar dinámicamente datos del remitente como su nombre, apellido o correo electrónico.
- Shortcodes de boletín, con datos relativos al correo actual, como el que te permite insertar el título (que será asunto del correo electrónico) en el cuerpo del email. Así, si lo utilizas en una plantilla, no tienes que estar cambiándolo en cada uno de los boletines.
- Shortcodes de fecha, que te permiten crear la fecha personalizada de forma muy fácil.
- Shortcodes de enlace, con los que puedes insertar el enlace para cancelar la suscripción y el enlace a la página de edición de la suscripción, si es que tienes establecido en las opciones que el usuario tenga acceso a ella.
Todos estos shortcodes puedes añadirlos fácilmente en el contenido del boletín utilizando el botón que hay en el editor para ello, que abre una ventana que te permite seleccionar el que quieras:
Lista de todos los shortcodes para boletines de MailPoet
Los shortcodes para boletines predefinidos por MailPoet (más abajo veremos que puedes crear los tuyos propios) son los siguientes:
- De usuario:
- Nombre [subscriber:firstname]
- Apellido [subscriber:lastname]
- Correo electrónico [subscriber:emal]
- Nombre mostrado en WordPress [subscriber:displayname]
- Total de suscriptores de la lista [subscriber:count]
- De boletín:
- Asunto [newsletter:subject]
- Número de entradas [newsletter:total] (por ejemplo: Aquí tienes un resumen de los [newsletter:total] artículos publicados en el blog esta semana)
- Título de la última entrada [newsletter:post_title]
- Envío número (en los boletines automáticos) [newsletter:number]
- De fecha:
- Día actual del mes [date:d]
- Día del mes en ordinal [date:dordinal]
- Nombre del día actual (lunes, martes…) [date:dtext]
- Número del mes actual [date:m]
- Nombre del mes actual [date:mtext]
- Año [date:y]
- De enlace:
- Cancelación de la suscripción [global:unsubscribe]
- Página de edición de la suscripción [global:manage]
Valores por defecto
Todo eso está muy bien, pero ¿qué pasa si queremos usar los shortcodes de usuario y sólo tenemos el nombre o el apellido de algunos usuarios, no de todos? Está bien poder usar el dato en aquellos casos en los que se tiene, sin que se vea raro en los demás. Bueno pues se puede.
MailPoet permite poner un valor por defecto, que se utilizará en caso de que no tenga el dato en que debe traducirse el shortcode. Vamos a ver un ejemplo con el nombre. Si yo encabezo un boletín poniendo Estimado [subscriber:firstname]:, aquellos usuarios que hayan dado su nombre verán
Estimado Pepe:
Mientras que, si no era obligatorio dar el nombre en el formulario de suscripción de MailPoet, aquellos usuarios que no rellenaran el dato verán:
Estimado :
Que no es lo óptimo. Para evitar eso, podemos poner un valor por defecto añadiendo default de la siguiente forma: [subscriber:firstname|default:cliente]. Así, los usuarios que hayan dado el nombre seguirán viéndolo como antes, pero un usuario que no haya dado su nombre verá:
Estimado cliente:
Los shortcodes de MailPoet para tu web
Además de los shortcodes predefinidos de MailPoet para los boletines, hay también algunos otros que puedes usar en tu web para mostrar ciertos datos. Aunque decir algunos es mucho decir. Concretamente son dos:
El número de suscriptores de una lista
[wysija_subscribers_count list_id=»numero_de_lista»]
Este shortcode muestra el número de suscriptores que hay registrados en una lista concreta. Por ejemplo, si te suscribes a las novedades de este blog para recibir cada semana un resumen con los tutoriales publicados sobre WordPress y WooCommerce te estarás uniendo a otros 0 suscriptores, que ya lo reciben cada viernes en su email.
¿Estás construyendo tu tienda online o eres implementador WordPress?
¿Necesitas plugins de calidad y con soporte para implementar funcionalidades concretas?
Consigue todos los plugins a la venta en la sección de plugins de esta web y todos los que siga añadiendo. Acceso a los 96 plugins (y subiendo) con soporte directo del desarrollador, actualizaciones y uso ilimitado: úsalos en tantas webs como lo necesites.
El archivo de boletines
El otro shortcode para la web es [wysija_archive], que te permite crear una página con un archivo de todos los boletines enviados, con su fecha y un enlace para la visualización en el navegador. Basta con crear una página vacía, añadirle ese shortcode, y publicarla.
El modo en que se muestran se puede personalizar, ya que el shortcode incluye cuatro filtros:
- mpoet_archive_title para establecer un título del listado (por defecto está vacío, sin título)
- mpoet_archive_date que filtra la visualización de la fecha del boletín
- mpoet_archive_subject para filtrar el asunto (título del boletín)
- mpoet_archive_no_newsletters, para la frase que muestra en caso de que no hayan boletines que listar
Es un poco técnico y no voy a entrar en mucho detalle (si te interesa crear un listado personalizado me puedes enviar un mensaje a través del formulario de contacto) pero te pongo un ejemplo rápido. Si quieres por ejemplo personalizar la frase en caso de que no haya boletines que mostrar, podrías crear el siguiente filtro:
add_filter ('mpoet_archive_no_newsletters', function ($frase) {
return 'Aquí no hay nada que ver, circulen';
});
Shortcode para añadir un enlace de «deshacer desuscripción»
Como sabes, cuando alguien cancela la suscripción a la lista de correo MailPoet le muestra una página que, por defecto, se genera automáticamente. Sin embargo puedes crear una página personalizada para ello y establecerla como «página de despedida». Esto lo puedes hacer en la opción MailPoet > Ajustes > Página para cancelar suscripción. La mía es ésta.
Sin embargo hay una pequeña diferencia. La página que genera MailPoet incluye un enlace para revertir la acción, que dice: ¿Has cometido un error? Revertir la cancelación de suscripción. Utilizando ese enlace, el usuario puede volver a suscribirse con un simple click, muy útil si ha pulsado el enlace de cancelar la suscripción en el email por error.
Ahora bien, ¿cómo incluyes ese enlace en tu página personalizada? En principio no es sencillo, porque no es un enlace estático: debe incluir datos que identifiquen al usuario para volver a incluirlo en la lista de suscritos. Y eso requiere algo de PHP.
Pero podemos construir un shortcode para ello. No te preocupes, que no necesitas programar, el código ya te lo doy yo:
add_shortcode ('cancela_desuscripcion_mailpoet', function () { if (class_exists('WYSIJA') && !empty ($_REQUEST['wysija-key'])) { $undo_paramsurl = array ( 'wysija-page' => 1, 'controller' => 'confirm', 'action' => 'undounsubscribe', 'wysija-key' => $_REQUEST['wysija-key'] ); $model_config = WYSIJA::get ('config', 'model'); $link_undo_unsubscribe = WYSIJA::get_permalink ($model_config->getValue('confirmation_page'), $undo_paramsurl); $undo_unsubscribe = str_replace ( array ('[link]', '[/link]'), array ('', ''), '¿Te has desuscrito por error? Puedes [link]revertir esta acción[/link]
'; return $undo_unsubscribe; } return ''; });
Esta función genera el shortcode [cancela_desuscripcion_mailpoet] que puedes utilizar en la página personalizada que uses para confirmar la cancelación de la suscripción. El propio código genera el enlace correcto para identificar a qué usuario corresponde.
Es más, si visualizas la página directamente, sin venir desde el enlace para cancelar la descripción, el texto ni siquiera aparece: sólo se muestra si realmente el usuario acaba de cancelar la suscripción. Por eso si entras a mi página de desuscripción directamente no verás ese enlace por ningún lado.
¿Dónde tienes que poner ese código? Bueno, ya lo he explicado otras veces. Si no sabes qué hacer con él, echa un vistazo a uno de estos artículos:
Crear tus propios shortcodes para incluir en los boletines
Ya he hablado antes de cómo crear tus propios shortcodes para incluirlos en los contenidos de WordPress (en páginas, entradas, productos o incluso en widgets).
Pero muchas veces puede ser útil poder utilizar tus propios shortcodes en los boletines que envías con MailPoet. Imagina, por ejemplo, poder incluir algún shortcode del tipo [featured_products] de WooCommerce, o cualquier otro. Estaría bien, ¿verdad?
Pues se puede, ya que MailPoet incluye un hook para ello. Sólo tienes que utilizar el hook wysija_shortcodes para ello, y podrás crear shortcodes que luego puedes incluir en los newsletters poniendo [custom:tu_shortcode]. Si esto te suena un poco a chino, te pongo un ejemplo.
Imagina que tienes una tienda con WooCommerce, y que en el pie de los boletines que envías a tus clientes quieres incluir los productos destacados de la tienda. Puedes establecer el siguiente shortcode:
add_filter ('wysija_shortcodes', function ($mi_shortcode, $id_usuario) {
if ($mi_shortcode === 'destacados')
$sustituye = do_shortcode('');
return $sustituye;
}, 10, 2);
Este código te crearía un shortcode que podrías incluir en tus boletines poniendo [custom:destacados] y que MailPoet sustituiría automáticamente por los productos destacados de WooCommerce. Ojo porque la visualización sería distinta, aquí ya habría que incluir los estilos necesarios añadiendo CSS al email, pero como ejemplo para que sepas cómo hacerlo, sirve.
No es necesario añadir una función por cada shortcode personalizado que quieras hacer para MailPoet, sino que en el mismo filtro puedes añadir todos los if que necesites, creando cada uno de ellos un shortcode.
Como ves el filtro coge dos parámetros, uno que lee los shortcodes incluidos en el boletín y otro con el ID de usuario (de WordPress) del destinatario, lo que nos permite, con un poco de programación, personalizar el shortcode con cualquier dato del usuario, e incluso que el contenido que devuelva el shortcode sea diferente en función de los datos del usuario.
Esto nos abre todo un mundo a la hora de personalizar los boletines, ya que podríamos, por ejemplo, mostrar en el correo electrónico diferentes ofertas en función de la ciudad en la que viva el cliente o informar sobre promociones que se apliquen sólo a su zona de envío.
ANTONIO ROMAGUERA DRETS dice
Bon dia,
Estoy empezando con Mailpoet y el tutorial me está sirviendo de ayuda pero no acabo de ver como insertar un shortcode de web, concretamente [wysija_archive]
Entiendo que es desde código, pero no paso de aquí.
Muchas gracias
Toni Romaguera i Drets
escolatanit.cat
Enrique J. Ros dice
Hola Antonio
Los shortcodes se insertan dentro del contenido. Gutenberg tiene un bloque específico para ello.
Un saludo
Luis dice
Hola enrique, mi problema con mailpoet es al momento de querer insertar el formulario en mi pagina de coming soon, utilizo el plugin de SeedPro, pero no encuentro manera de poder insertarlo, ya tenia otro plugin antes que este y tampoco pude insertarlo, existe alguna otra manera u otro plugin que me sirva??
Ruben dice
Hola buenas, escribo por aquí para ver si pueden ayudarme ya que no encuentro solución por ningún sitio.
Resulta que estoy utilizando tambien mailpoet para wordpress, en concreto la versión 3. Pues cuando quiero suscribir un correo, por ejemplo uno mío para probar, si lo hago desde el pc si que me va, pero si lo hago desde el móvil, me pone que tengo que especificar un id de formulario válido, y es lo que no entiendo, ya que es un widget y es el mismo para pc, tableta o móvil, entonces no entiendo que significa eso del id.
Espero que me puedan ayudar, gracias de antemano,
Rubén
Enrique J. Ros dice
Hola Rubén
Contacta directamente con el soporte de MailPoet, son los que mejor pueden ayudarte.
Un saludo
Angel dice
Hola Enrique, espero que estés muy bien, tengo una consulta, quiero editar la página de confirmación de suscripción, veo que se puede crear una nueva página y establecerla como página de confirmación, el problema es que en la página que viene por defecto veo que dice por ejemplo «Gracias por confirmar tu suscripción al: webinar de ciencias» pero cuando creo mi propia página no sé cómo poner el nombre de la lista dinámicamente sino que solo aparece como «Gracias por confirmar tu suscripción» y ya. Hay algún shortcode que se pueda usar para eso? o cómo lo hace mailpoet en la página por defecto?
Angel dice
Investigando encontré que se puede cambiar editando el archivo en la carpeta de mailpoet /lib/suscription/Pages.php pero no habrá otra opción que no sea mediante código.
Enrique J. Ros dice
Hola Angel
Que yo sepa, MailPoet no tiene ningún shortcode para eso. En cualquier caso a quien mejor le puedes consultar es al soporte del propio plugin, ellos podrán ayudarte mejor que nadie.
Un saludo.
Jairfabricio dice
Excelente articulo Enrique, muy detallado!
Estoy buscando la forma de agregar +1 día a la fecha señalada con el shortcode: [date:d]
Por ejemplo: Agendar cita / reserva médica
* Mañana tenemos cita médica
[fecha: dtext] [fecha: d] [fecha: mtext]
[fecha: d] +1 día
¡Saludos!
Enrique J. Ros dice
Hola Jairfabricio
Hasta donde yo sé, no es posible hacerlo sin programar.
Un saludo
Anna Horno dice
Muchísimas gracias Enrique, me ha sido muy útil.
Rafa Corts dice
Hola Enrique gracias por el articulo muy interesante, en el caso que quieras mostrar en un Schortcode el nombre de la lista que te subscribes ¿Como debería de ser?
Un saludo.
Rafa Corts