Introdución
Gestionar los pedidos es el día a día de una tienda online que funciona. Si no tienes idea de cómo gestionarlos, puedes ver mi tutorial en YouTube.
Estados de pedidos :
Estados de pedido por defecto en WooCommerce
Una de las buenas prácticas es asignar un estado de pedido dependiendo de la fase en la que nos encontremos. Por ejemplo:
- Pendiente de pago : El cliente se encuentra realizando el pedido.
- En espera : Estamos esperando una acción del cliente mientras tenemos su pedido reservado. Por ejemplo, en espera de una transferencia bancaria.
- Procesando : Pago aceptado, estamos trabajando en el pedido.
- Completado : El pedido ha salido o lo ha recibido el cliente.
- Reembolsado : El importe del pedido ha sido devuelto al cliente.
- *Fallido : El pago falló por parte del cliente.
- Cancelado : El pedido no ha llegado a pagarse.
- Borrador : El pedido lo hemos preparado nosotros manualmente y no ha sido terminado.
Estos son los que vienen con la instalación básica de WooCommerce. Para ciertos tipos de negocio, quizás hace falta añadir algunos más. Por ejemplo, un estado de «físico» para los pedidos realizados en la tienda física o un estado «empaquetado» para avisar al cliente que está listo, pero aún no lo ha recogido el repartidor.
En este tutorial vamos a ver cómo añadir el estado que nosotros queramos, tanto por código como mediante un plugin.
Mediante código
Podemos añadir el siguiente código al archivo `functions.php` de nuestro Child Theme o en un plugin de funcionalidades:
```php
function estado_pedido_fisico() {
register_post_status('wc-fisico', array(
'label' => 'Físico', // Nombre público
'public' => true,
'exclude_from_search' => false,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'label_count' => _n_noop('Físico (%s)', 'Físico (%s)')
));
}
add_action('init', 'estado_pedido_fisico');
function anadir_lista_fisico($order_statuses) {
$new_order_statuses = array();
foreach ($order_statuses as $key => $status) {
$new_order_statuses[$key] = $status;
if ('wc-completed' === $key) {
$new_order_statuses['wc-fisico'] = 'Físico';
}
}
return $new_order_statuses;
}
add_filter('wc_order_statuses', 'anadir_lista_fisico');
```
- En este caso, el estado se llamará "Físico". Para cambiarle el nombre, cambia la palabra que está en `label`.
Plugin: Custom Order Status for WooCommerce
Si no sabes mucho código o bien quieres crear mails personalizados para ese estado, te recomiendo el plugin [Custom Order Status for WooCommerce](https://es.wordpress.org/plugins/custom-order-statuses-for-woocommerce/) de Tyche Softwares. Es un plugin gratuito disponible en el repositorio de WordPress.
Una vez activado, ve a WooCommerce > Custom Order Status y añade un nuevo estado:
![Estados de pedidos personalizados WooCommerce](estados-de-pedidos-personalizados-woocommerce.png)
En este caso, puedes elegir el color del estado y un icono. Asegúrate de no indexar este contenido en Google; en Yoast o RankMath desactiva la indexación.
Después de este proceso, puedes hacer más configuraciones desde WooCommerce > Ajustes > Estado de pedido personalizado. Podrás:
- Cambiar los estados de pedido por defecto dependiendo del tipo de pago.
- Modificar la prioridad del filtro de los estados.
-
Cambiar el estado de los pedidos en masa de los nuevos estados:
![Crear estado de pedido WooCommerce](crear-estado-de-pedido-woocommerce.png) -
Crear un mail personalizado para los nuevos estados de pedido:
![Estado de pedido nuevo WooCommerce](estado-de-pedido-nuevo-woocommerce.png)
Ambas formas de crear nuevos estados de pedidos en nuestra tienda online son correctas; ya depende de la personalización que necesites.
Conclusión
Trabajar esta parte de la gestión de pedidos es fundamental para mejorar la eficiencia interna de tu tienda online, especialmente para disminuir la tasa de errores y mantener a los clientes informados. Implementar nuevos estados de pedido en WooCommerce te ayudará a tener un control más detallado y personalizado de cada etapa del proceso de compra.