Gestionar los pedidos es el día a día de una tienda online que funciona, si no tenéis idea cómo gestionarlos podéis ver mi tutorial en Youtube.
Índice
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 poner alguno más. Por ejemplo un estado de «físico» para los pedidos realizados en la tienda física, esto lo explico en mi curso de POS. Otro podría ser «empaquetado» para avisar al cliente que está listo, pero aun no lo ha recogido el repartidor.
Así que en este tutorial vamos a ver cómo añadir el que nosotros queramos tanto por código como mediante un plugin.
Mediante código
Como siempre podemos añadir el siguiente código a nuestro fichero functions.php de nuestro Child Theme o bien en un plugin de funcionalidades como explico aquí.
function estado_pedido_fisico() {
register_post_status( 'wc-fisico', array(
'label' => 'fisico', //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( 'fisico (%s)', 'fisico (%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'] = 'Fisico';
}
}
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, donde pone //Nombre público. Si tienes cualquier duda, revisa el vídeo de Youtube del post.
Plugin: Custom Order Status for WooCommerce
En el caso que no sepamos mucho código o bien queramos crear mails personalizados para ese estado os recomiendo Custom Order Status for WooCommerce de Tyche Softwares. Plugin gratuito disponible en el repositorio de WordPress o bien en este enlace.
Una vez activado desde WooCommerce > Custom Order Status y añadir nuevo:

En este caso podemos elegir el color del estado y un icono. Mucho cuidado con indexar este contenido en Google, en Yoast o RankMath desactivar la indexación.
Una vez hecho este proceso podemos hacer más configuraciones desde WooCommerce > Ajustes > Estado de pedido personalizado. Podremos:
- Cambiar los estados de pedido por defecto dependiendo del tipo de pago.
- Modificar la prioridad del filtro de los estados.
- Poder cambiar el estado de los pedidos en masa de los nuevos estados:
- Crear un mail personalizado para los nuevos estados de pedido:

Ambas formas de crear nuevos estados de pedidos en nuestra tienda online son correctas, ya depende de la personalización que necesites.
Conclusiones
Viene muy bien trabajar esta parte para mejorar nuestra gestión interna de los pedidos, sobre todo para disminuir la tasa de errores a la hora de enviar pedidos y tener informados a los clientes.
Cualquier duda como siempre os leo en comentarios.
Deja una respuesta