Я не знаю, выполнимо ли ваше требование или нет. Но у меня есть логика (которая может или не может быть правильным способом)
- получить количество товара и роль пользователя, нажав кнопку "Добавить в корзину"
- Проверьте, является ли пользовательская роль оптовым клиентом, и требуется ли количество на складе
- если да, то блокировать добавление товара в корзину
Это базовая реализация вышеуказанной логики. Я только что проверил код и обнаружил, что товар не добавлен в корзину. Вы можете создать код, соответствующий вашим требованиям.
function stock_quantity_validation($valid, $product_id, $quantity){
$qty = 7; // Your required stock quantity
if( is_user_logged_in() ) {
$user = wp_get_current_user();
$roles = ( array ) $user->roles;
if ( in_array( 'wholesale_customer', $roles ) ) {
$stock = get_post_meta( $product_id, '_stock', true ); // Getting stock quantity of product
if($stock < $qty){
$valid = false;
}
}
}
return $valid;
}
add_filter('woocommerce_add_to_cart_validation','stock_quantity_validation', 10, 3);