避免Woocommerce中“客户”用户角色的产品缺货

时间:2018-11-08 11:33:16

标签: php wordpress woocommerce product user-roles

我有两种类型的角色,普通客户和批发客户。批发客户应该能够下订单,而普通客户则不能下订单。我不是php开发人员,我的代码尚无法使用,请帮助我使其有效:

add_filter( 'woocommerce_product_backorders_allowed', 'woocommerce_product_backorders_allowed', 10, 3 );
function woocommerce_product_backorders_allowed( $backorder_allowed, $product_id, $product ){
    $targeted_user_role = 'zakelijke_klant';
    $user_data = get_userdata(get_current_user_id());
    if ( in_array( $targeted_user_role, $user_data->roles ) ) {
         $backorder_allowed = true;
    }
    return $backorder_allowed;
}

1 个答案:

答案 0 :(得分:0)

请尝试针对普通的“客户”用户角色进行以下操作:

add_filter( 'woocommerce_product_backorders_allowed', 'woocommerce_product_backorders_allowed', 10, 3 );
function woocommerce_product_backorders_allowed( $backorder_allowed, $product_id, $product ){
    if ( current_user_can('customer') ) {
        $backorder_allowed = false;
    } else {
        $backorder_allowed = true;
    }

    return $backorder_allowed;
}

代码进入您的活动子主题(活动主题)的function.php文件中。经过测试,可以正常工作。