Permitir editar el pedido en cualquier estado WooCommerce

LucusHost, el mejor hosting

Una de las acciones que podemos realizar dentro de un pedido en WooCommerce es editar los productos, envío, impuestos… Asociados a los productos del mismo pedido. Esta opción solo se puede hacer, si el pedido está en los estados «pendiente de pago» o «En espera».

Normalmente lo que se hace es cambiarlo a estos estados, el problema es que mandamos un email automático al cliente y se puede asustar de que no llegó a pagar su pedido. Es por esto, que lo ideal sería que se pueda editar en otros estados del pedido. Y esto es lo que vamos a ver en este tutorial, sin utilizar un plugin, solo añadiendo un simple código.

modificar pedido woocommerce

Editar un pedido en estado procesando

Deberemos añadir el siguiente código al functions.php de nuestro child theme o bien a nuestro plugin de funcionalidades como explico aquí.

add_filter( 'wc_order_is_editable', 'dl_modificar_pedido_procesa', 9999, 2 );
 
function dl_modificar_pedido_procesando( $allow_edit, $order ) {
    if ( $order->get_status() === 'processing' ) {
        $allow_edit = true;
    }
    return $allow_edit;
}
editar pedido procesando woocommerce

Y con esto conseguiremos editar el pedido sin problema si el estado es procesando. Lo puedes modificar con otros estados del pedido, deberás modificar processing por:

  • Pendiente de pago: pending
  • En espera: on-hold
  • Procesando: processing
  • Completado: completed
  • Fallido: failed
  • Cancelado: cancelled
  • Reembolsado: refunded

Editar un pedido en varios estados de pedido

Para ello por ejemplo añadimos este código, que te permite hacerlo en los estados: completado, cancelado y procesando:

add_filter( 'wc_order_is_editable', 'dl_modificar_pedido_estados', 9999, 2 );

function dl_modificar_pedido_estados( $allow_edit, $order ) {
    $editable_statuses = array('processing', 'completed', 'cancelled');

    if ( in_array( $order->get_status(), $editable_statuses ) ) {
        $allow_edit = true;
    }

    return $allow_edit;
}

Espero que os haya servido, os dejo aquí otros tutoriales relacionados con los estados del pedido:

Crear nuevos estados de Pedido en WooCommerce

Crear un enlace de pago en un pedido de WooCommerce

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)
mailerlite diegol

Especialista en Comercio electrónico con Woocommerce. Te ayudo a crear, gestionar y publicitar tu Ecommerce en función de tu sector y público objetivo. Puedes encontrarme en Diegol.top

¿Necesitas ayuda con este tutorial? Mándame un correo y te resuelvo todas las dudas!


Ver servicios Curso de WooCommerce

También puedes realizar una donacion para seguir apoyando la salida de nuevos tutoriales y actualizaciones

mailerlite diegol

Reader Interactions

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *