根据 WooCommerce 中的用户角色更改数量步骤
Change quantity steps depending on the user role of the in 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;
}
如何使此代码也适用于用户角色?
您的代码中存在一些错误,例如 $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 文件。它应该有效。
在 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;
}
如何使此代码也适用于用户角色?
您的代码中存在一些错误,例如 $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 文件。它应该有效。