Su socio dedicado para todo lo relacionado con WordPress

Cómo cambiar el estado del pedido de WooCommerce mediante programación

Índice del contenido

WooCommerce es una popular plataforma de comercio electrónico que impulsa millones de tiendas en línea en todo el mundo. Una de las características principales de WooCommerce es la capacidad de gestionar pedidos. De forma predeterminada, WooCommerce viene con varios estados de pedido, como pendiente, en procesamiento, completado y cancelado. Sin embargo, puede haber ocasiones en las que necesite crear estados de pedido personalizados o cambiar el estado del pedido mediante programación. En esta publicación de blog, le mostraremos cómo cambiar el estado del pedido de WooCommerce mediante programación y le daremos algunos ejemplos de sus aplicaciones prácticas.

Antes de comenzar, es esencial comprender cómo funcionan los estados de los pedidos en WooCommerce. Cuando un cliente realiza un pedido, se le asigna un estado predeterminado de "pendiente". Puede cambiar manualmente este estado a "procesando" cuando comience a procesar el pedido. Una vez que se complete el pedido, puede cambiar el estado a "completado". Si se cancela un pedido, el estado cambia a "cancelado".

Ahora, digamos que necesita crear un estado de pedido personalizado llamado "en espera". Puede hacer esto agregando el siguiente código a su archivo funciones.php:

“`php
función registro_personalizado_orden_status() {
registrar_post_status ('wc-en-espera', matriz (
'etiqueta' => 'En espera',
'público' => verdadero,
'exclude_from_search' => falso,
'show_in_admin_all_list' => verdadero,
'show_in_admin_status_list' => verdadero,
'label_count' => _n_noop( 'En espera (%s) ', 'En espera (%s) ' )
));
}
add_action('init', 'register_custom_order_status');
"`

Luego puede usar el siguiente código para cambiar el estado del pedido a "en espera" mediante programación:

“`php
$pedido = wc_get_order( $order_id );
$order->update_status( 'en espera', __( 'Pedido en espera', 'woocommerce' ) );
"`

Este código recupera el objeto de pedido utilizando la variable $order_id y actualiza su estado a "en espera".

Ahora veamos una aplicación práctica de este código. Supongamos que tiene una tienda en línea que ofrece un servicio de suscripción. Desea crear un estado de pedido personalizado llamado "caducado" que se asigna a los pedidos cuando finaliza su período de suscripción. Puede utilizar el siguiente código para lograr esto:

“`php
función change_order_status_on_subscription_expiry ($ suscripción) {
$order_id = $suscripción->get_parent_id();
$pedido = wc_get_order( $order_id );
$order->update_status( 'expirado', __( 'Suscripción vencida', 'woocommerce' ) );
}
add_action('woocommerce_subscription_end_of_prepaid_term', 'change_order_status_on_subscription_expiry');
"`

Este código escucha el evento "woocommerce_subscription_end_of_prepaid_term", que se activa cuando finaliza un período de suscripción. Luego recupera el ID del pedido principal y actualiza su estado a "caducado".

Conclusión

Cambiar el estado del pedido de WooCommerce mediante programación puede ser una característica útil para los propietarios de tiendas en línea que desean personalizar su sistema de gestión de pedidos. Con la ayuda de los enlaces y filtros de WordPress, puede crear estados de pedidos personalizados, automatizar los cambios de estado de los pedidos e integrarlos con servicios de terceros. Esperamos que este artículo le haya brindado algunas ideas sobre cómo lograrlo y lo haya inspirado a explorar más posibilidades con WooCommerce.

 

¿Cómo empezar?

Más información

Mantenimiento de WooCommerce

Ahorra 33% con nuestro plan de precios anual.

Iniciar

¿Tiene problemas con WordPress?

Reclamar su Mantenimiento gratuito de WordPress

En el acelerado panorama digital actual, cada sitio web merece el cuidado y la experiencia de un equipo de mantenimiento profesional, que garantice un rendimiento óptimo, una seguridad mejorada y experiencias de usuario perfectas, para que usted pueda concentrarse en hacer crecer su negocio con tranquilidad.

Alexey Seryapin
Fundador de WPServices

¡Código de cupón aplicado!

Tómate tu tiempo y continúa navegando por nuestros servicios.

Alexey Seryapin
Fundador de WPServices