In WooCommerce possiamo creare tanti coupon, e possiamo deciderne il nome e le varie casistiche in base alle nostre esigenze.
Ma perché l’utente dovrebbe inserire manualmente il coupon che magari riceve via mail?
Lo trovo un metodo scomodo e per questo ho creato una funzione che tramite un parametro specifico chiamato “coupon“, applichi in automatico il codice promozionale scelto.
La prima cosa da fare è mettere questo codice dentro al vostro file functions.php
/**
* Applica un coupon automaticamente al carrello se viene richiamato con il paramentro "coupon"
*/
function mm_applica_coupon_via_url_woo() {
// Se non esiste Woo
if ( ! function_exists( 'WC' ) || ! WC()->session ) {
return;
}
// Se non viene inserito alcun coupon, come parametro nella url
if ( empty( $_REQUEST['coupon'] ) ) {
return;
}
// Prendi il parametro dalla richiesta
$coupon_code = esc_attr( $_REQUEST['coupon'] );
// Setta il cookie alla sessione dell'utente
WC()->session->set_customer_session_cookie(true);
// Applica al carrello se necessario
if ( ! WC()->cart->has_discount( $coupon_code ) ) {
WC()->cart->add_discount( $coupon_code );
}
}
add_action( 'wp_loaded', 'mm_applica_coupon_via_url_woo', 30 );
add_action( 'woocommerce_add_to_cart', 'mm_applica_coupon_via_url_woo' );Fatto questo non vi resta che creare il coupon su WordPress

E poi inserire nella url del vostro sito questo coupon, per esempio:
https://www.minimamente.com/?coupon=sconto10
Questo permetterà al sistema di dichiarare il coupon!