2015-07-26 1 views
3

Я внедрил оптовую роль пользователя на сайт Wordpress моего клиента. Конечная цель состоит в том, чтобы оптовый пользователь имел 40% скидку на все продукты, но если они тратят 500 долларов или больше, они получают дополнительно 7% от общей покупки корзины. Я установил первоначальную скидку 40% с динамическим ценообразованием, а за дополнительные 7% я создал купон, чтобы автоматически применяться к тележке без необходимости вводить код купона.Как я могу применить Купон Woocommerce к определенной роли пользователя без плагина?

Единственная проблема заключается в том, что купон работает для всех пользователей (клиентов, администраторов и дилеров) и не зависит от конкретной роли. Может ли кто-нибудь сказать мне, как я могу изменить свой код купона, чтобы применить только к роли пользователя для «дилера»? Если вам нужно увидеть сайт в прямом эфире, вы можете посмотреть, что here! Спасибо!

add_action('woocommerce_before_cart', 'apply_matched_coupons'); 

function apply_matched_coupons() { 
    global $woocommerce; 

    $coupon_code = 'additionaldiscount'; // coupon code 

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

    if ($woocommerce->cart->cart_contents_total >= 500) { 
     $woocommerce->cart->add_discount($coupon_code); 
     $woocommerce->show_messages(); 
    } 

} 
+0

Вы ссылающийся на роли пользователя/возможности? Или фактический, один пользователь, называемый «дилер»? – rnevius

+0

Пользовательская роль, но клиент хотел, чтобы роль называлась «дилер». Я отредактирую и уточню. Извинения за путаницу. – jshuadvd

ответ

2

Вы можете использовать current_user_can() проверить роль или возможности:

if (current_user_can('dealer') && $woocommerce->cart->cart_contents_total >= 500) { 
    $woocommerce->cart->add_discount($coupon_code); 
    $woocommerce->show_messages(); 
} 
+0

Спасибо! Вот и все. Я знал, что это что-то простое, но не может найти точный фрагмент. Я очень ценю это! – jshuadvd