Supponiamo di voler applicare automaticamente un coupon chiamato per esempio “scontopromo” agli utenti che hanno un ruolo specifico che noi chiamiamo “collaboratori”.
Stiamo considerando che esista e sia valido un coupon con quel nome e che all’interno del nostro sito sia già presente il ruolo personalizzato (puoi usare plugin come User Role Editor per creare e gestire ruoli personalizzati facilmente).
Per ottenere questo risultato, è sufficiente aggiungere questo codice al file functions.php del nostro tema child.
Puoi personalizzare questo codice inserendo il nome del coupon corretto e il nome del ruolo personalizzato che hai già creato sul tuo sito.
add_action('woocommerce_before_cart', 'applica_coupon_automatico_per_ruolo');
function applica_coupon_automatico_per_ruolo() {
if (is_admin() && !defined('DOING_AJAX')) return;
// Nome del coupon
$coupon_code = 'scontopromo';
// Ruolo per cui applicare il coupon
$ruolo_target = 'collaboratori';
// Ottieni l'utente corrente
if (is_user_logged_in()) {
$user = wp_get_current_user();
// Verifica se ha il ruolo specificato
if (in_array($ruolo_target, $user->roles)) {
// Ottieni il carrello
$carrello = WC()->cart;
// Applica il coupon se non è già applicato
if (!$carrello->has_discount($coupon_code)) {
$carrello->apply_coupon($coupon_code);
}
}
}
}
Buon lavoro!








