Ограничить продукт 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/ для создания категории пользователей. (как в другом ответе)

Другие вопросы по тегам