Quando il tuo cliente all'ingrosso si registra per la prima volta, potresti voler offrire loro prezzi speciali sul loro primo ordine.
Questo può assumere molte forme, come:
- Prezzi iniziali inferiori sui prodotti
- Sconti inferiori in percentuale sui prezzi
- Soglie d'ordine minime inferiori
- Opzioni di spedizione/gateway di pagamento diverse (o incentivi di spedizione gratuita)
Il seguente snippet di codice ti consente di modificare il ruolo utente all'ingrosso in un ruolo utente diverso dopo il primo ordine.
Affinché ciò funzioni, è necessario WooCommerce Wholesale Prices Premium e devi creare un nuovo ruolo all'ingrosso in WooCommerce->Ruoli all'ingrosso chiamato "Primo ordine all'ingrosso" con lo slug "wholesale_first_order".
Con il plugin WooCommerce Wholesale Lead Capture puoi impostare automaticamente il ruolo utente all'ingrosso desiderato all'approvazione della registrazione. Quindi, se stai utilizzando questo plugin, ricorda anche di modificare questa impostazione per puntare al tuo nuovo ruolo utente Primo ordine all'ingrosso.
Ecco il codice da aggiungere al tuo 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 );
Spiegazione: Al completamento dell'ordine, controlla il cliente associato all'ordine per vedere se ha il ruolo utente "Primo ordine all'ingrosso" e se ha anche 1 o più ordini nel sistema.
Se questo è il caso, allora cambia il ruolo del cliente nel ruolo utente "Cliente all'ingrosso".
Puoi modificare i nomi dei ruoli utente nel codice sopra e potresti persino aumentare il conteggio degli ordini se lo desideri (potresti volerli cambiare solo dopo 10 ordini, ad esempio).
NOTA: Ora che hai due ruoli utente all'ingrosso, dovrai inserire i prezzi all'ingrosso per entrambi i ruoli all'ingrosso in modo che anche il primo ruolo utente veda i corretti prezzi all'ingrosso.
Questo apre anche la porta per modificare le soglie minime all'ingrosso anche per questo ruolo utente (sia le soglie d'ordine che le soglie minime di quantità per prodotto).
