Soporte » Plugins y Hacks » WooCommerce » Cómo enviar un mail en una fecha concreta después de un pedido

  • Resuelto Santiago Alonso

    (@salonsoweb)


    ¡Hola!

    Espero no estar repitiendo pregunta, pero no soy capaz de encontrar nada parecido.

    Estoy buscando un plugin que permita enviar mails pasados X días después de un pedido completado. El problema es que X es un campo que varía en cada pedido (depende de lo que se compre será después de 7, 20 o 50 días, por ejemplo).

    Puedo calcular y almacenar en un custom field en qué fecha debe enviarse la alerta y qué texto de mail necesito (también es variable por pedido).

    ¿Se os ocurre algún plugin que pueda hacer esto o algo similar desde lo que partir?

    He encontrado mails que permiten configurar la fecha a nivel global (7 días después del pedido), pero no puedo alterar esa fecha ni personalizarla por cada pedido.

    Gracias infinitas de antemano 😉

Viendo 4 respuestas - de la 1 a la 4 (de un total de 4)
  • Buenas @salonsoweb

    No conozco ningún plugin que haga eso. Deberías hacer un desarrollo a medida.

    Se debería programar una función y que fuera ejecutada mediante CRON.
    Dentro de esa función harías una query contra el custom field de los pedidos y si coincidiera enviarías el mail con la función wp_mail con el contenido y al destinatario del pedido.

    Aquí tienes un ejemplo:
    https://codex.wordpress.org/Function_Reference/wp_cron

    Y para chequear la ejecución del CRON te recomiendo este plugin:
    https://wordpress.org/plugins/wp-crontrol/

    Espero haberte ayudado.

    Iniciador del debate Santiago Alonso

    (@salonsoweb)

    Hola, Adrián!

    Gracias por la rapidez 😉

    Sí, me temo que la solución al final va a pasar por hacer algo a medida con wp_schedule_event() y listo.

    Si te parece, me pasaré por aquí a comentar la solución final y marcarlo como solucionado, por si le sirve a alguien en el futuro.

    Un saludo!

    Genial @salonsoweb

    Se agradece que mantengas el foro al día.

    En principio extendiendo el ejemplo que ves en el enlace ya te debería valer.

    Muchas gracias!

    Iniciador del debate Santiago Alonso

    (@salonsoweb)

    Como anticipábamos en las otras respuestas, al final la solución pasó por la función wp_schedule_event.

    Al guardar un pedido, se almacena la fecha de aviso en un custom field

    Semanalmente, se lanza una tarea programada por cron con wp_schedule_event que se encarga de buscar los pedidos que tienen que ser avisados ese día y les envía un mail.

    Gracias por ponerme en la pista de la solución, Adrián! 😉

Viendo 4 respuestas - de la 1 a la 4 (de un total de 4)
  • El debate ‘Cómo enviar un mail en una fecha concreta después de un pedido’ está cerrado a nuevas respuestas.