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.

    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!

    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.