Cambiar el estado del pedido de WooCommerce
Los propietarios de comercios del sector de reparto de comida a domicilio suelen tener que cumplir con los pedidos rápidamente y gestionar una gran cantidad de pedidos acumulados a lo largo del día. En estos casos, la automatización se vuelve esencial para actualizar el estado de esos pedidos en un día y hora específicos.
Imagínese lo siguiente: todos los viernes a las 9:00 a. m., como un reloj, todos sus pedidos en «Procesamiento» cambian automáticamente al estado «Completado». Automatizar la actualización de los estados de los pedidos en momentos específicos puede mejorar significativamente la eficiencia de la gestión de pedidos. Esta personalización garantiza que sus pedidos se actualicen de manera constante y a tiempo, lo que le permite ahorrar un tiempo valioso y eliminar el riesgo de errores humanos.
Solución
Actualizar automáticamente el estado del pedido según el día y la hora establecidos en WooCommerce
Este fragmento de código cambia automáticamente el estado de los pedidos de «procesando» a «completado» todos los viernes a las 9:00 a. m., según se especifica en el código.
```php
add_action( 'init', 'ts_orders' );
function ts_orders() {
// Define tu día y hora objetivo
$target_day = 'Friday'; // viernes
$target_time = '9:00 AM'; // Hora en formato de 12 horas
// Obtener el día y la hora actuales en la zona horaria de WordPress
$current_day = date( 'l', current_time( 'timestamp' ) );
$current_time = date( 'g:i A', current_time( 'timestamp' ) );
// Comprueba si es el día y la hora objetivo
if ( $current_day === $target_day && $current_time === $target_time ) {
global $wpdb;
// Consulta para obtener todos los pedidos con estado 'wc-processing'
$my_query = "SELECT * FROM {$wpdb->prefix}wc_order_stats WHERE status='wc-processing'";
$results = $wpdb->get_results( $my_query );
foreach ( $results as $result ) {
$order_id = $result->order_id;
$order = new WC_Order( $order_id );
if ( ! empty( $order ) ) {
$order->update_status( 'completed' );
}
}
}
}
```
Producción
Cuando el día y la hora actuales coinciden con el día y la hora especificados en el código (viernes 9:00 a. m.), los pedidos en estado «en procesamiento» se actualizan automáticamente a «completados».
Automatizar las actualizaciones del estado de los pedidos puede variar según las necesidades específicas de cada negocio. Por ejemplo, los servicios de entrega de alimentos priorizan la actualización de los pedidos con prontitud en momentos específicos para garantizar un cumplimiento rápido de los pedidos. Por otro lado, otras empresas pueden explorar métodos como la automatización de los cambios de estado de los pedidos de WooCommerce en función de determinados períodos de tiempo. Independientemente del escenario, la automatización de los estados de los pedidos puede simplificar el flujo de trabajo y la eficiencia de la gestión de pedidos.