Hosting WordPress Webempresa

Agregar un nuevo estado de pedido personalizado en WooCommerce

por | Ago 11, 2022 | Plugins WordPress, WooCommerce

Agregar un nuevo estado de pedido personalizado en WooCommerce

Si quieres una tienda online, rápida y eficiente, una de las mejores opciones y más usada a nivel mundial 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.

  WooCommerce


WooCommerce es el complemento de comercio electrónico más popular y posiblemente el mejor para WordPress, y su integración proporciona un excelente SEO para sitios web de comercio electrónico. Debido a que es de código abierto, ofrece personalizaciones ilimitadas. Usar WordPress con WooCommerce significa que tendrá el apoyo de la sólida comunidad de código abierto.

WooCommerce

WooCommerce cuenta con un panel de órdenes donde a su vez estos tienen estados para que podamos organizar el momento en el que se encuentra un pedido, procesando, en espera, cancelado, son uno de los muchos estados que podemos encontrar, y es aquí donde nos planteamos cuáles son estos estados.

 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 órdenes */
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 );
Ten en cuenta modificar la línea del código que indica:

‘mark_sent’ => __( ‘Change to sent’, ‘textdomain’ ), // NUEVO ESTADO PERSONALIZADO

En esta línea debes modificar ‘Change to sent’ por el nombre de tu nuevo estado de pedido.

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 que está ubicado en:

WeCpanel > Administrador de archivos > Public_html > Dominio > wp-content > Themes > tema utilizado o tema hijo > Archivo functions.php

También podemos utilizar un complemento como lo es code snippets:

Code Snippets

Solo tenemos que ingresar al plugin en el apartado de agregar código e insertar el código que hemos visto previamente.

 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, entre estos complementos que puedes utilizar se encuentra el de custom order status para woocommerce.

Custom Order Status for WooCommerce

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, que se encuentra dentro del panel de WooCommerce y 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 nos 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, podemos crearlos y modificarlos fácilmente a nuestro gusto.

 Conclusión


Como podemos ver y hemos visto si tenemos WooCommerce en nuestro sitio ya funcionando, esta resulta ser una herramienta fundamental al momento de crear un e-commerce, sin embargo, como podemos ver hay ciertos aspectos que necesitan una pequeña mejora.

Como es el caso de los estados, que si bien trabajan de forma excepcional, algunas veces se queda corto para sistemas personalizados o ajustes que requieran un poco más de personalización, como es el caso de esta guía podemos ver y comprender que podemos agregar tanto de forma manual (por código) como automática por medio de complementos en nuestra tienda.

Una mejora más que necesaria si tenemos un sistema que requiera más estados y una mejor personalización de los mismos.

¿Te ha resultado útil este artículo?

Hosting WPFácil