WooCommerce Студенческая скидка

Мне нужно создать купон в WooCommerce, который будет работать, только если у пользователя есть электронная почта, которая заканчивается .ac.uk,

Например student.name@uwl.ac.uk или же teacher@kings.ac.uk,

Скидка будет 10% от общей корзины покупок.

Я не могу найти какие-либо решения онлайн или плагины, которые могли бы помочь.

Есть идеи?

Благодарю.

1 ответ

Вы можете использовать этот Автоприменить Дисконтный Купон к функции Покупки Клиента с соответствующими условиями (электронная почта пользователя заканчивается ac.uk):

add_action('woocommerce_before_cart_table', 'coupon_auto_apply_user_email_tld', 10, 0);
function coupon_auto_apply_user_email_tld() {

    $current_user = wp_get_current_user();
    $user_email = $current_user->user_email; 
    $mail_part = explode('@', $user_email);
    $domain_part = explode('.', $mailParts[1]);
    $mail_tld = $domain_part[1] . '.' . $domain_part[2]);

    if ( $woocommerce->cart->has_discount( $coupon_code ) ) return;

    if ( $mail_tld == 'ac.uk' ) {
        $coupon_code = 'UNIQUECODE'; // <= set the name of your coupon code here
        if ( ! WC()->cart->add_discount( sanitize_text_field( $coupon_code ) ) ) {
            WC()->show_messages();
        }
        echo '<div class="woocommerce_message"><strong>The total price in your cart will be discounted 10% off…</strong></div>';
    }
    else
    {
        return;
    }
}

Вам нужно будет установить в настройках купона WooCommerce купон с желаемым поведением (скидка 10%), и вы сообщите об этом купоне в этой функции.

Скопируйте код в файл functions.php, расположенный в вашей активной теме или лучше вашей активной дочерней теме.

Другие вопросы по тегам