Gestionar los pedidos es el día a día de una tienda online que funciona.
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. 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.
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.