Inicio - Añadir un nuevo estado de pedido personalizado en WooCommerce

Añadir un nuevo estado de pedido personalizado en WooCommerce

estado de pedido personalizado en WooCommerce

Por lo general la mayoría de la gente piensa que su presencia en internet pasa por tener un dominio y poco más, que hay multitud de recursos gratuitos para luego poner su web corporativa o tienda online sin gastar nada, bueno si lo que buscas es algo muy estándar, una tienda online rápida y casi gratis, entonces nada mejor que WooCommerce, el plugin gratuito para WordPress con el que puedas tener un comercio electrónico en unos pocos tiempo, pero como todo lo “gratis”, tiene su curva de aprendizaje y algunas pequeñas carencias de base.

Claro que para eso, hay todo un sistema de plugins o personalizaciones mediante código PHP que nos permitirán personalizar la instalación por defecto de WordPress o, en este caso WooCommerce.

Y si, vas a tener que personalizar entre otras cosas los estados de pedido por defecto a un nuevo estado de pedido personalizado en Woocommerce, como usuario, administrador o si estas realizando una tienda para alguien, de mano en el 99% de las ocasiones, no les va a parecer bien las traducciones que trae ni los estados por defecto.

Los estados de pedido de WooCommerce por defecto

Si hay alguna cosa que no suelen gustar a ningún cliente que sea propietario de tienda online, son los estados de pedido disponibles por defecto de los que dispone Woocommerce, aunque todo es adaptarte, siempre toca acabar por modificarlos con todo lo que trae por detrás en el tema de gestión, emails, etc, asi que de momento veamos cuales son estos estados por defecto:

  • Pendiente de pago
  • Fallido
  • Procesando
  • Completado
  • En espera
  • Cancelado
  • Reembolsado
  • Identificación necesaria
Ten en cuenta que aparte de estos estados de pedido “estándar” por defecto que nos proporciona WooCommerce, nos pueden ir apareciendo otros “estados de pedido” al instalar algunos plugins. 

Si instalas un plugin de facturación o alguno otro de envios, por ejemplo, suelen aparecer nuevos estado de pedido como el de «Enviada/generada factura en PDF», o estados de pedido como “pagado”, “Pendiente de envío”, “Enviado”, hasta incluso el de “Entregado”, etc, que estos ya suelen gustar más a los propietarios de tiendas, pero a veces no es suficiente, eso si, hay que tener en cuenta que estos estados de pedido salvo que intervenga algún plugin como los de pago, la mayoría de las veces requerirá la acción manual de una persona.

Pero ¿qué pasa si yo o alguno de mis clientes quieren añadir un estado de pedido diferente, por cuestiones de logística propias de mi negocio aplicado a mi tienda online?

Una opción es añadir un plugin que añada ese estado de pedido o alguno similar y te ayude en «esa» acción, pero lo mas seguro es que entre todos los plugins de WordPress que hay en el mercado, ninguno se adapte y de te una buena solución, así que un modo de resolverlo rápidamente es crear un nuevo estado de pedido personalizado y que no dependa de plugins externos.

Cómo añadimos un nuevo estado de pedido personalizado a WooCommerce mediante código

 

La primera opción de la que vamos a disponer con Woocommerce es añadiendo fragmentos de código para crear ese estado que necesitamos para nuestros pedidos y nos que tenemos es solucionarlo con un poco de código a medida, que cree el nuevo estado de pedido y nos permita disponer de esta nueva para gestión y filtrado de pedidos.

Un ejemplo del código sería:

				
					/* Añadir nuevo estado de pedido */
add_action( 'init', 'empc_nuevo_estado_pedido_logistica' );
function empc_nuevo_estado_pedido_logistica() {
register_post_status( 'wc-enviado', array(
'label' => _x( 'Servido', '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( 'Servido <span class="count">(%s)</span> ', 'Enviados <span class="count">(%s)</span>', 'woocommerce' )
) );
}
// Registro en wc_order_statuses.
add_filter( 'wc_order_statuses', 'empc_pedido_entregado' );
function empc_pedido_entregado( $order_statuses ) {
$order_statuses['wc-enviado'] = _x( 'Servido', 'Order status', 'woocommerce' );
return $order_statuses;
}
// Añadir estado a acciones en lote en el orden que queramos
function rename_or_reorder_bulk_actions( $actions ) {
$actions = array(
'trash' => $actions['trash'], //Enviar a papelera
'mark_processing' => $actions['mark_processing'], //Marcar como procesando
'mark_on-hold' => $actions['mark_on-hold'], //Marcar como en espera
'mark_cancelled' => $actions['mark_cancelled'], //Marcar como cancelado
'mark_completed' => $actions['mark_completed'], //Marcar como completado
'mark_enviado' => __( 'Cambiar estado entregado', 'textdomain' ), // El nuevo estado
);
return $actions;
}
add_filter( 'bulk_actions-edit-shop_order', 'rename_or_reorder_bulk_actions', 20 );
				
			

Vamos a ver de que se compone este código:

  1. Creamos el nuevo estado de pedido para lo tengamos disponible a la hora de editar los pedidos.
  2. Registramos el nuevo estado de pedido que hemos creado en la tabla de datos de estados de pedido
  3. Añadiremos una acción en lote que nos va a permitir poder al nuevo estado de pedido desde el listado de pedidos.

En este código puedes cambiar los textos que identifican el nuevo nombre del estado de pedido “entregado” y el array de estado wc-enviado, si lo quieres personalizar a tu manera.

¿Y dónde tengo que añadir el código php al wordpress?

 

Si nunca has añadido un código personalizado a tu instalación de WordPress, este debes añadirlo en el functions.php de tu tema, procurando siempre hacerlo en un tema hijo para no perder nada con las actualizaciones (si es el caso) del tema que este usando para tu WordPress.

Es un tema algo complejo ya que puedes dejar la web fuera de combate si te equivocas al añadir el código, nada grave si sabes como dejarlo como estaba, asi que procura tener una copia de la web antes de toquitear ahí.

Pero por si no te quieres complicar mucho la vida y prefieres usar algún plugin para hacerlo o bien, quien vaya a gestionar la tienda online puede necesitar crear o modificar estos estados de pedido, hay la opción de crearlos y personalizarlos con un plugin más sencillo de manejar que el código.

Añadir un nuevo estado de pedido personalizado a WooCommerce mediante plugins

Si no te ves capaz de añadir el código anterior o por necesidades necesitas otra opción, una forma es recurrir a plugins que nos ayuden con la tarea, revolviendo por ahí te dejo los mejor valorados en varios blogs y sitios web, que puede ser que cambien ya que el universo de plugins WordPress está en constante desarrollo:

Custom Order Status for WooCommerce (plugin gratuito)

 

Es un plugin gratuito que nos va a permitir crear, modificar y borrar fácilmente estados de pedido personalizados, y que te permite además editar:

  • El slug del estado de pedido personalizado.
  • La etiqueta visible del estado de pedido personalizado.
  • El icono y color de la columna del estado de pedido personalizado

Tiene una interfaz muy sencilla para realizar todos estos procesos con los nuevos estados de pedido personalizados.

Hay que tener en cuenta la limitación de que no permite personalizar los emails que enviamos, ni los estados de pedido por defecto, al ser una versión gratuita, pero si nos deja modificar los nuevos estados de pedido personalizados al gusto.

 

WooCommerce Order Status Manager (plugin de pago)

 

Este es un plugin de los mismos creadores de WooCommerce (si quieres algo que se integre 100% te los recomiendo), pero es de pago aunque es de los “baratos” de los que disponen y que nos permite crear estados de pedido personalizados para Woocommerce de manera muy sencilla.

Ya solo con solo con activar el plugin ya tienes mejoras, sin que tengas que configurar nada ya nos añade colores e iconos a los estados de pedido por defecto, lo que nos va a ayudar y facilitar identificarlos a golpe de vista.

Pero eso es solo lo que hace nada más instalarlo, además puedes personalizar totalmente los colores y más aspectos de los estados de pedido por defecto, así como ajustes de los correos electrónicos de cada estado de pedido.

Se pueden configurar más cosas con los estados de pedido, tanto existentes como los personalizados asi como con los mails que se envían y lo bueno es que lo puedes hacer desde cero. 

 

Y ya ves que el tema de personalizar los estados de pedido con Woocommerce es bastante sencillo y tienes varias maneras de hacerlo, desde gratuitas mediante código o plugins, asi como opciones de pago con más opciones, eso ya depende de tus necesidades con los estados de pedido. 

Ir arriba
Logo Empc cabecera Diseñadora Web Freelance Experta en WordPress y WooCommerce León

Tus datos de contacto


Servicios que necesitas



Especifica un poco en el mensaje