Ограничить продукт woocommerce для определенного покупателя
Я настраиваю сайт электронной коммерции, продающий домашние вещи. Я бы хотел, чтобы некоторые товары приобретались постоянными посетителями, но некоторые товары (с большим количеством скидок) рассчитаны только на определенные членства (а именно на оптовиков), и эти товары показываются всем посетителям, но когда обычный посетитель нажимает "добавить в корзину", он будет перенаправлен на форму регистрации участника с пометкой: Только оптовый участник может приобрести этот товар. Я строю многоязычный веб-сайт Woocomerce с использованием WPML. Пожалуйста, предложите коды или плагин, который я должен использовать для этого проекта.
Большое спасибо.
1 ответ
Я бы начал с рассмотрения этого плагина:
https://en-ca.wordpress.org/plugins/user-role-editor/
Это позволит вам создать новую роль пользователя - для ваших конкретных "оптовиков". Затем я бы добавил пользовательскую категорию товаров, чтобы классифицировать, какие товары вы хотите, чтобы они были доступны только оптовым участникам. С этими двумя частями информации вы можете выполнить проверку следующим образом:
function custom_wholesale_add_to_cart_redirect(){
global $post;
$terms = get_the_terms( $post->ID, 'product_cat' );
foreach ($terms as $term) {
if('wholesale' == $term->slug){
$user = wp_get_current_user();
if ( !in_array('wholesale', (array)$user->roles) || !is_user_logged_in() ){
wp_redirect('your-redirect-page');
exit;
}
}
}
}
add_action('woocommerce_add_to_cart', 'custom_wholesale_add_to_cart_redirect');
Вы проверяете текущий продукт - если он входит в категорию "оптовых", затем проверьте текущего пользователя - и если этот пользователь не является "оптовым" участником - или не вошел в систему - перенаправьте на свою страницу.
Я должен был найти решение сегодня, и лучший способ imho - использовать этот плагин: https://wordpress.org/plugins/product-visibility-by-user-role-for-woocommerce/
Единственный недостаток, бесплатная версия полностью ручная (нет смены партий сразу для всех продуктов). Но вы можете заблокировать покупку этого продукта, полностью скрыть его и некоторые другие настройки.
Я использовал https://wordpress.org/plugins/user-role-editor/ для создания категории пользователей. (как в другом ответе)