根据WooCommerce中的用户角色更改数量步骤

在WooCommerce中,我尝试根据用户角色和产品来逐步更改“产品数量”字段设置。


这是我的代码


add_filter( 'woocommerce_quantity_input_args', 'jk_woocommerce_quantity_input_args', 10, 2 ); // Simple products

function jk_woocommerce_quantity_input_args( $args, $product, $roles ) {

    if ( is_singular( 'product' ) ) {

        if( $product->get_id() == 85 ) {

            $args['input_value'] = 30;

        } else {

            $args['input_value'] = 5;

        }

    }


    if( array ( $roles, 'customer_roles')) {

        $args['min_value']      = 1;

         $args['step']           = 1;               

    }


    if( $product->get_id() == 85 ) {

            $args['min_value'] = 30;

            $args['step']      = 5;

        } else {

            $args['min_value'] = 5;

            $args['step']      = 5;

        }

        return $args;

}

如何使此代码也适用于用户角色?


杨__羊羊
浏览 155回答 1
1回答

叮当猫咪

您的代码$roles中存在一些错误,例如该钩子参数不存在变量,还有一些其他错误……请尝试以下操作:add_filter( 'woocommerce_quantity_input_args', 'quantity_input_args_filter_callback', 10, 2 );function quantity_input_args_filter_callback( $args, $product ) {    // HERE define the user role:    $user_role = 'customer_roles';    $user = wp_get_current_user(); // Get the WP_Use Object    // For a specific user role, we keep default woocommerce quantity settings    if( in_array( $user_role, $user->roles ) )         return $args; // Exit to default    // For the others as following    if ( is_singular( 'product' ) ) {        if( $product->get_id() == 85 ) {            $args['input_value'] = 30;        } else {            $args['input_value'] = 5;        }    }    if( $product->get_id() == 85 ) {        $args['min_value'] = 30;        $args['step']      = 5;    } else {        $args['min_value'] = 5;        $args['step']      = 5;    }    return $args;}代码进入您的活动子主题(或活动主题)的function.php文件中。它应该工作。
打开App,查看更多内容
随时随地看视频慕课网APP