Cómo agregar y editar el estado de un pedido personalizado en WooCommerce

Publicado: 2022-05-14

¿Desea agregar y editar el estado del pedido personalizado en WooCommerce? Pueden ser muy útiles para dar una mayor claridad sobre los estados de los pedidos de sus clientes.

De forma predeterminada, WordPress y WooCommerce no le permiten agregar un estado de pedido personalizado. Pero con la ayuda de los códigos, podemos agregarlos a su tienda en línea y editarlos en poco tiempo. Sin embargo, echemos un vistazo a por qué es posible que deba agregar o editar el estado del pedido personalizado en WooCommerce antes de comenzar el proceso.

¿Por qué agregar y editar el estado del pedido personalizado en WooCommerce?

El uso adecuado del estado del pedido es muy importante para garantizar el proceso de compra en cualquier tienda en línea. En un sitio web de comercio electrónico, puede haber varios pasos que los clientes deben seguir para completar una compra. Por supuesto, estos pasos adicionales darán como resultado menos ventas.

Alternativamente, cuantos menos estados de pedidos necesitemos manejar, mejor tasa de ventas tendrá una tienda de comercio electrónico. Además de eso, también facilitará y simplificará las cosas para administrar el sitio web en general.

Sin embargo, necesitaremos al menos dos tipos de estados de pedido en todos los casos. El primer tipo de estado del pedido es necesario cuando el usuario realiza un pedido con éxito. Se puede configurar como pago pendiente, procesamiento o en espera.

Del mismo modo, también necesitamos otro estado de pedido que parezca que el pedido está completo. Aquí, el cliente puede haber realizado un pago y haber recibido el producto. Pero si el pedido no se completa debido a algún evento desafortunado, incluso puede establecerse como fallido, cancelado o reembolsado.

Entonces, en total, tenemos los siguientes estados de pedido predeterminados disponibles en WooCommerce que podemos usar libremente:

  • Pago pendiente
  • Ha fallado
  • Procesando
  • Terminado
  • En espera
  • Cancelado
  • Reintegrado

Estos estados de pedido son bastante adecuados para cualquier sitio web de comercio electrónico. Son incluso más que suficientes para lo que puede usar el sitio web promedio.

Pero si estos estados predeterminados aún no son suficientes para usted, definitivamente tendrá que crear algunos estados personalizados para su tienda en línea. Agregarlos a su sitio web seguramente les dará a sus clientes una comprensión más clara del estado de sus pedidos de WooCommerce. Por ejemplo, si desea un estado de pedido para informar específicamente a los clientes que su pedido es una llamada en espera, deberá agregar un estado de pedido de WooCommerce personalizado.

¿Cómo crear un estado de pedido personalizado de WooCommerce?

Los pedidos de WooCommerce se tratan como un tipo de publicación personalizada especial. Por lo tanto, tiene un valor post_status adjunto en la tabla wp_posts de la base de datos de la misma manera que cualquier otro tipo de publicación.

Entonces, para incluir el estado de nuestro pedido personalizado en la lista de estado disponible, necesitamos usar la función incorporada de WP register_post_status() .

Pero antes de continuar, asegúrese de crear un tema secundario mediante programación o utilizando uno de los complementos de tema secundario para realizar estos cambios. Esto garantiza que las personalizaciones que realice en los archivos del tema no se modificarán cuando actualice su tema de WordPress. Del mismo modo, también le recordamos que haga una copia de seguridad de su sitio web de WordPress para que pueda restaurar su sitio web si se realizan modificaciones innecesarias por accidente.

1. Accede al archivo functions.php

Para crear y editar un estado de pedido personalizado en WooCommerce, primero deberá acceder al archivo de funciones del tema. Primero, vaya a Apariencia > Editor de archivos de temas desde su tablero de WordPress. Luego, seleccione el archivo " funtions.php " de los archivos de temas en el lado derecho de su pantalla.

2. Agregue los códigos al archivo functions.php

Ahora, copie y pegue el siguiente script en el archivo functions.php de su tema hijo. Esto creará un nuevo estado de pedido personalizado llamado "Llamada en espera".

 // Registrar nuevo estado
función registro_espera_llamada_estado_pedido() {
register_post_status( 'wc-esperando-llamada', array(
'etiqueta' => 'Llamada en espera',
'público' => verdadero,
'show_in_admin_status_list' => verdadero,
'show_in_admin_all_list' => verdadero,
'exclude_from_search' => falso,
'label_count' => _n_noop( 'Llamada en espera (%s)', 'Llamada en espera (%s)' )
) );
}
// Agregar estado personalizado a la lista de estado del pedido
función add_wait_call_to_order_status ($ order_statuses) {
$estados_nuevo_pedido = array();
foreach ($order_statuses as $key => $status) {
$new_order_statuses[ $key] = $status;
if ( 'wc-en-espera' === $clave ) {
$new_order_statuses['wc-waiting-call'] = 'Llamada en espera';
}
}
devuelve $estados_nuevos_pedidos;
}
add_action('init', 'register_wait_call_order_status');
add_filter('wc_order_statuses', 'add_wait_call_to_order_statuses');

Tenga en cuenta que estamos usando un par de ganchos aquí. El primero es wp_init() y se usa para registrar nuestro nuevo estado. Una vez que se registra el estado, esta función ya no es necesaria, puede eliminar este enlace y su devolución de llamada de función después de hacerlo.

Y el segundo es el gancho de filtro wc_order_statuses() , que incluye el estado del nuevo pedido en la lista disponible. Por lo tanto, se puede usar al adjuntarlo a un pedido desde el panel de administración de WooCommerce.

Puede ver el nuevo estado de pedido personalizado cuando edita cualquiera de los pedidos desde WooCommerce > Pedidos desde su panel de control de WordPress. Luego, haga clic en la opción de estado y el estado de la orden "Llamada en espera" se mostrará en el menú desplegable.

editar estado de pedido personalizado en woocommerce crear estado de pedido personalizado

Edite el estado de un pedido existente en WooCommerce

También podemos usar el mismo gancho de filtro visto en el script de muestra anterior wc_order_statuses() para cambiar el nombre del estado del pedido existente.

El siguiente código de muestra editará dos estadísticas de pedidos: "procesando" y "completado", cambiándolos a "en progreso" y "entregado":

 function QuadLayers_rename_status ($order_statuses) {
foreach ($order_statuses as $key => $status) {
if ('procesamiento-wc' === $clave) {
$order_statuses['wc-processing'] = _x( 'En curso', 'Estado del pedido', 'woocommerce' );
}
if ('wc-completado' === $clave) {
$order_statuses['wc-completed'] = _x( 'Entregado', 'Estado del pedido', 'woocommerce' );
}
}
devuelve $estados_de_pedido;
}
add_filter('wc_order_statuses', 'QuadLayers_rename_status');

No olvide actualizar el archivo después de agregarle los códigos.

¡Eso es todo! Así es como puede editar el estado de un pedido existente o personalizado en su sitio web de WooCommerce.

editar el estado del pedido personalizado en woocommerce Cambiar el nombre del estado del pedido woocommerce

Eliminar el estado de un pedido en WooCommerce

Nuevamente, wc_order_statuses() será útil para eliminar un estado de pedido específico. En este caso, eliminaremos el estado del pedido "reembolsado".

Utilice el siguiente script para eliminar un estado de pedido existente. Esto funcionará tanto para los estados de pedido predeterminados como para los personalizados.

 función QuadLayers_remove_status ($ estados) {
if( isset( $estados['wc-reembolsado'] ) ){
unset( $status['wc-refunded'] );
}
devolver $estados;
}
add_filter('wc_order_statuses', 'QuadLayers_remove_status');

Tenga en cuenta que si elimina un estado de pedido predeterminado de WooCommerce, esto podría romper la integración con algunas pasarelas de pago.

Conclusión

Estas son algunas de las diversas formas de agregar y editar el estado del pedido personalizado en WooCommerce con la ayuda de códigos. Se pueden modificar aún más para editar y eliminar incluso los estados de pedido existentes predeterminados de WooCommerce. Sin embargo, solo necesita agregar nuevos estados de pedido personalizados o editar los existentes si los estados de pedido predeterminados no son suficientes para usted y las necesidades de sus clientes.

Como puede ver, es realmente fácil agregar y editar un estado de pedido personalizado en su tienda en línea. Pero debe tener una comprensión básica de cómo usar los ganchos de WooCommerce. Del mismo modo, si desea obtener más información sobre los pedidos de WooCommerce, incluso tenemos guías detalladas sobre cómo probar, repetir, eliminar e incluso autocompletar pedidos en WooCommerce.

Entonces, ¿ha intentado editar y agregar los estados de los pedidos en su sitio web? Por favor, háganos saber en los comentarios.

Mientras tanto, siéntase libre de echar un vistazo a algunas de nuestras publicaciones que podrían serle útiles:

  • Cómo crear un complemento de WordPress personalizado
  • Los mejores complementos de WooCommerce para repetir pedidos
  • Cómo agregar tarifas al pago de WooCommerce