Recientemente un cliente nos planteó la necesidad de cancelar de forma automática en WooCommerce los pedidos en estado En espera y que el método de pago fuera Transferencia bancaria transcurridos siete días tras la creación del pedido.
Aunque existen algunas soluciones publicadas en Internet, realmente ninguna funciona correctamente al 100%, entre otras cosas por que no están actualizados para la gestión de pedidos que utilizan la nueva función HPOS de WooCommerce, o son demasiado complejas y consumen demasiados recursos para una gestión tan simple. Así que tras usar una solución que les ha funcionado bastante bien hasta ahora finalmente decidimos fabricar un código PHP completamente nuevo, desde cero y lo más simple posible.
Concretamente hemos añadido este código PHP en el fichero functions.php del tema hijo:
Gracias a él se genera una tarea programada que se ejecuta dos veces al día, cada 12 horas, que recoge todos los pedidos de la base de datos cuyo estado sea En espera, su método de pago Transferencia bancaria y su fecha de creación sea anterior a una semana. Una vez hecha la búsqueda cambia su estado a Cancelado y le añade en la nota de pedido el texto «Pedido de transferencia bancaria en espera cancelado automáticamente tras 7 días.«, de forma que serán fácilmente identificables estos pedidos que han cambiado de estado de forma automática.
Gracias a esta gestión automatizada el cliente se despreocupa de tener que actualizar este tipo de pedidos manualmente, así que esperamos que os resulte útil este pequeño código en vuestras tiendas online.
¡Disfrutadlo!
Artículos relacionados
Comentarios




