Si quieres una tienda online, rápida y eficiente, una de las mejores opciones que puedes probar es WooCommerce, el plugin gratuito de WordPress que te permite crear un e-commerce en unos pocos clics, sin embargo añadir algunas funcionalidades adicionales puede resultar un poco tediosas.
Sin embargo, no te preocupes, para eso tenemos el repositorio de plugins de WordPress, que cubren los espacios que no tiene una instalación por defecto de WordPress o WooCommerce.
En este guía te mostraremos como puedes añadir una de estas funcionalidades adicionales, añadiendo un estado personalizado a los pedidos de tu tienda.
Estados de pedidos de woocommerce por defecto
Cuando usamos Woocommerce por defectos solo tendremos unos pocos estados de pedido disponibles que, estos son los siguientes:
- Pago pendiente
- Fallido
- Procesando
- Terminado
- En espera
- Cancelado
- Reintegrado (cuando se solicita un rembolso)
- Identificación requerida
Además de estos estados de pedido predeterminados de WooCommerce, hay otros que pueden aparecer a medida que instala complementos.
Por ejemplo, si instala un complemento de facturación, puede aparecer un nuevo estado de «Factura en PDF enviada«, o si es un complemento de seguimiento de envío, algunos complementos agregan estados de pedido como «Envío pendiente«, «Enviado«, «Entregado«, etc.
Pero, ¿qué pasa si quiero agregar un estado de pedido diferente para rastrear problemas específicos de mi tienda en línea?. Podría buscar un complemento que agregue solo ese estado de pedido y lo ayude en el seguimiento de «eso», pero no siempre lo es tan fácil de encontrar; sin embargo, si creamos un nuevo estado de pedido personalizado, tendremos esto que necesitamos, y así no dependemos de complementos adicionales.
Agregar un nuevo estado de pedido personalizado a woocommerce con código.
La primera opción que tenemos es solucionarlo con algún código personalizado que genere el nuevo estado del pedido y nos permitiría tener esta nueva “etiqueta” para rastrear y filtrar pedidos.
El código se vería como este ejemplo:
/* Nuevo estado en ordenes */
add_action( 'init', 'wphelp_new_order_status_sent' );
function wphelp_new_order_status_sent() {
register_post_status( 'wc-sent', array(
'label' => _x( 'Sent', 'Order status', 'woocommerce' ),
'public' => true,
'exclude_from_search' => false,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'label_count' => _n_noop( 'Sent <span class="count">(%s)</span> ', 'Sent <span class="count">(%s)</span>', 'woocommerce' )
) );
}
// Agrega esto a los estados.
add_filter( 'wc_order_statuses', 'wphelp_order_sent' );
function wphelp_order_sent( $order_statuses ) {
$order_statuses['wc-sent'] = _x( 'Sent', 'Order status', 'woocommerce' );
return $order_statuses;
}
// Añadir el estado del pedido a las acciones masivas en el orden que queramos
function rename_or_reorder_bulk_actions( $actions ) {
$actions = array(
'trash' => $actions['trash'], //Send to thrash
'mark_processing' => $actions['mark_processing'], //Procesando
'mark_on-hold' => $actions['mark_on-hold'], //En espera
'mark_cancelled' => $actions['mark_cancelled'], //Cancelado
'mark_completed' => $actions['mark_completed'], //Completado
'mark_sent' => __( 'Change to sent', 'textdomain' ), // NUEVO ESTADO PERSONALIZADO
);
return $actions;
}
add_filter( 'bulk_actions-edit-shop_order', 'rename_or_reorder_bulk_actions', 20 );
Este código consta de 3 partes:
- Creación del nuevo estado del pedido para que esté disponible al editar un pedido.
- Registro del nuevo estado del pedido en la tabla de estado del pedido
- Agregar una acción masiva para poder cambiar también al nuevo estado de pedido desde la lista de pedidos.
¿Dónde Tengo Que Añadir Este Código?
Este código puedes agregarlo directamente en tu archivo function.php o bien con el complemento code snippets:
Para agregarlo en nuestro archivo functions.php debemos ingresar a nuestro cpanel y seguir la siguiente ruta:
Cpanel > Administrador de archivos > Public_html > Dominio > wp-content > Themes > tema utilizado o tema hijo > Archivo functions.php
Agregar un nuevo estado de pedido personalizado en woocommerce con plugin
Si no te apetece utilizar un código sencillo como el anterior, siempre puedes recurrir a plugins que te faciliten la tarea.
Este complemento gratuito le permite crear, modificar y eliminar fácilmente nuevos estados de pedidos personalizados, para los cuales puede editar:
- El slug del estado del pedido personalizado.
- La etiqueta (nombre visible) del estado del pedido personalizado.
- El icono del estado del pedido personalizado.
- El icono y el color de la columna de estado del pedido personalizado.
Para ello, dispone de una interfaz sencilla, en la que puede crear nuevos estados de pedido personalizados.

Este complemento es tan sencillo como ingresar en el panel lateral de Custom order status, agregar un nuevo estatus, ingresando el slug y código del icono directamente de la lista de iconos permitidos, sin olvidarnos el nombre de este mismo que será ingresado en el apartado de título.
Como es una versión gratuita, no le permite personalizar los correos electrónicos o los estados de los pedidos de forma predeterminada, pero en lo que respecta a los nuevos estados de pedidos personalizados, puede crearlos y modificarlos fácilmente a su gusto.
