如何在没有插件的情况下将 Woocommerce 优惠券应用于特定用户角色?

jsh*_*dvd 6 wordpress coupon woocommerce

我已在客户的 WordPress 网站中实施了批发用户角色。最终目标是让批发用户对所有产品享受 40% 的折扣,但如果他们消费 500.00 美元或更多,则可以在购物车总购买量中获得额外 7% 的折扣。我设置了动态定价的初始 40% 折扣,对于额外的 7%,我创建了一张优惠券,自动应用于购物车,而无需用户输入优惠券代码。

唯一的问题是优惠券适用于所有用户(客户、管理员和经销商),并且不针对特定角色。谁能告诉我如何更改我的优惠券代码以适用于“经销商”的用户角色?如果您需要查看实时站点,可以在这里查看!谢谢你!

    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();
    }

}
Run Code Online (Sandbox Code Playgroud)

rne*_*ius 4

您可以使用current_user_can()来检查角色或能力:

if ( current_user_can('dealer') && $woocommerce->cart->cart_contents_total >= 500 ) {
    $woocommerce->cart->add_discount( $coupon_code );
    $woocommerce->show_messages();
}
Run Code Online (Sandbox Code Playgroud)