Cuando su cliente mayorista se registre por primera vez, es posible que desee ofrecerle precios de incentivo en su primer pedido.
Esto puede adoptar muchas formas, como:
- Precios iniciales más bajos en productos
- Descuentos porcentuales más bajos en los precios
- Umbrales de pedido mínimo más bajos
- Opciones de pasarela de envío/pago diferentes (o incentivos de envío gratuito)
El siguiente fragmento de código le permite cambiar el rol de usuario mayorista a otro rol de usuario después del primer pedido.
Para que esto funcione, necesita WooCommerce Wholesale Prices Premium y debe crear un nuevo rol mayorista en WooCommerce->Roles mayoristas llamado “Primer pedido mayorista” con el slug “wholesale_first_order”.
Con el plugin WooCommerce Wholesale Lead Capture, puede establecer automáticamente el rol de usuario mayorista deseado en la aprobación del registro. Por lo tanto, si está utilizando este plugin, recuerde también cambiar esta configuración para que apunte a su nuevo rol de usuario de Primer pedido mayorista.
Aquí tiene el código para añadir a su functions.php:
function wwsChangeUserRoleAfterFirstOrder( $order_id ) {
if ( !isset( $order_id ) )
return;
$old_role = 'wholesale_first_order';
$new_role = 'wholesale_customer';
$order = new WC_Order( $order_id );
$order_user_id = $order->get_user_id();
$order_user = new WP_User( $order_user_id );
// If user is not a guest
if ( $order_user ) {
// If the user is sitting at 1 or more orders and the user has the old
// user role, then change the user role to the new role
if ( in_array( $old_role, $order_user->roles ) &&
wc_get_customer_order_count($order_user->ID) >= 1) {
wp_update_user( array(
'ID' => $order_user->ID,
'role' => $new_role
) );
}
}
}
add_action( 'woocommerce_order_status_completed', 'wwsChangeUserRoleAfterFirstOrder', 10, 1 );
Explicación: Al completar el pedido, comprueba el cliente asociado al pedido para ver si tiene el rol de usuario “Primer pedido mayorista” y si también tiene 1 o más pedidos en el sistema.
Si este es el caso, cambia el rol del cliente al rol de usuario “Cliente mayorista”.
Puede ajustar los nombres de los roles de usuario en el código anterior e incluso podría aumentar el recuento de pedidos si lo desea (por ejemplo, podría cambiarlos solo después de 10 pedidos).
NOTA: Ahora que tiene dos roles de usuario mayorista, deberá completar los precios mayoristas para ambos roles mayoristas para que el primer rol de usuario vea los precios mayoristas correctos también.
Esto también abre la puerta para cambiar los umbrales mínimos mayoristas para este rol de usuario también (ya sean los umbrales de pedido o los umbrales de cantidad mínima de producto individual).
