1. Inicio
  2. Base de Conocimientos
  3. WooCommerce Wholesale Prices Premium
  4. Backend
  5. Cómo Añadir Un Prefijo Personalizado al Número de Pedido para Pedidos de Mayorista

Cómo Añadir Un Prefijo Personalizado al Número de Pedido para Pedidos de Mayorista

Si quieres que los pedidos mayoristas destaquen de un vistazo, puedes darles su propio prefijo de número de pedido. Por ejemplo, puedes convertir el pedido n.º 1234 en WH-1234. Este artículo te muestra cómo añadir un prefijo personalizado a los números de pedido mayorista con un fragmento de código. Esto facilita la distinción entre pedidos mayoristas y minoristas en la lista de pedidos de WooCommerce.

Requisitos previos

  • WooCommerce Wholesale Prices Premium debe estar instalado y activo. La detección del tipo de pedido utilizada en este fragmento se basa en la clave de metadatos _wwpp_order_type, que este plugin establece al finalizar la compra.
  • Acceso para añadir código PHP personalizado, ya sea a través del archivo functions.php de tu tema hijo activo o de un plugin de fragmentos de código como WPCode.

La columna del tipo de pedido

Cuando se realiza un pedido mayorista, WooCommerce Wholesale Prices Premium añade una columna de Tipo de pedido a la página de Pedidos de WooCommerce para que puedas ver de un vistazo qué pedidos provienen de clientes mayoristas.

Columna Tipo de pedido en la lista de Pedidos de WooCommerce

Puedes ir más allá añadiendo un prefijo personalizado al número de pedido para los pedidos mayoristas. Añade el siguiente fragmento a functions.php de tu tema hijo o a un plugin de fragmentos de código:

add_filter( 'woocommerce_order_number', 'wwpp_custom_wholesale_order_number_prefix', 10, 2 );
function wwpp_custom_wholesale_order_number_prefix( $order_number, $order ) {

    $prefix     = 'WH-'; // Change this to any prefix you like
    $order_type = $order->get_meta( '_wwpp_order_type', true ); // HPOS-compatible meta read

    if ( 'wholesale' === $order_type ) {
        return $prefix . $order_number;
    }

    return $order_number;
}

Cambia el valor de $prefix a cualquier cadena que desees, por ejemplo 'WHSL-' o 'B2B-'. El prefijo se antepone al número de pedido existente, por lo que el pedido n.º 1234 se convierte en WH-1234.

Este fragmento utiliza $order->get_meta() para leer el tipo de pedido. Este es el enfoque correcto para sitios que utilizan el Almacenamiento de Pedidos de Alto Rendimiento (HPOS) de WooCommerce. El uso directo de get_post_meta() no funcionará en tiendas con HPOS habilitado porque los datos del pedido ya no se almacenan en la tabla de publicaciones.

Resultado

Aquí está el resultado:

Prefijo personalizado aplicado al número de pedido mayorista

Solución de problemas

El prefijo no aparece en los pedidos mayoristas. Confirma que WooCommerce Wholesale Prices Premium está activo. El metadato _wwpp_order_type es establecido por este plugin al finalizar la compra, por lo que los pedidos realizados antes de su instalación no tendrán el metadato y no coincidirán. Comprueba también que el fragmento se añadió a functions.php de tu tema hijo (no al archivo del tema padre, que se sobrescribirá en las actualizaciones del tema) o a un plugin de fragmentos de código.

El prefijo aparece en todos los pedidos, no solo en los mayoristas. Comprueba que la llamada $order->get_meta( '_wwpp_order_type', true ) devuelve 'wholesale' para los pedidos esperados. Puedes añadir temporalmente una llamada var_dump dentro de la función (solo en un sitio de desarrollo) para inspeccionar el valor de retorno.

¿Necesitas ayuda?

Si tienes alguna pregunta o encuentras algún problema, estamos aquí para ayudarte.

¿Te ha resultado útil este artículo?

Artículos relacionados

Completa tu Compra