Скрыть определенные продукты от незарегистрированных пользователей в WooCommerce - PullRequest
1 голос
/ 17 марта 2019

У меня есть определенная категория продуктов, которую я хочу предложить только зарегистрированным пользователям.Как бы я это реализовал?

Итак, как скрыть определенные продукты от незарегистрированных пользователей в WooCommerce

Я пробовал поиск, но кажется, что это настоящий случай WooCommerce.

Ответы [ 2 ]

1 голос
/ 17 марта 2019

Следующий код скрывает продукты из определенной категории продуктов только для незарегистрированных пользователей. Вы должны будете определить в коде категорию продукта SLUG, которая будет исключена из массива 'terms':

// Hide some products from unlogged users and a specific product category
add_filter( 'woocommerce_product_query_tax_query', 'exclude_products_fom_unlogged_users', 10, 2 );
function exclude_products_fom_unlogged_users( $tax_query, $query ) {
    // On frontend for unlogged users
    if( ! is_user_logged_in() ){
        $tax_query[] = array(
            'taxonomy'  => 'product_cat',
            'field'     => 'slug',
            'terms'     => array('t-shirts'), // <=== HERE the product category slug
            'operator'  => 'NOT IN'
        );
    }
    return $tax_query;
}

Код помещается в файл function.php вашей активной дочерней темы (или активной темы). Проверено и работает.

0 голосов
/ 17 марта 2019

Это перенаправит пользователя, если он не вошел в систему:

if (!is_user_logged_in()) {
    auth_redirect();
    exit;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...