Как заблюрить товары на страницах для незарегистрированных пользователей?

Ссылка скопирована
1 ответ

Может есть какие-то готовые плагины или код, который вяжется с woocommerce. В общем, нужны препятствия для заказов на сайте с табачкой. Под блюр должны попасть все товары (около 500). На скрине пример

Как заблюрить товары на страницах для незарегистрированных пользователей?

Дополнительно

Как заблюрить товары на страницах для незарегистрированных пользователей?

Михаил Р. @Mike_Ro Python, JS, WordPress, SEO, Bots, Adversting

Как заблюрить товары на страницах для незарегистрированных пользователей?

Т.к. не понятно, какой метод блюра использовать, то покажу пример реализации css блюра у класса .product:

// functions.php:  function test() {     if (!is_user_logged_in()) {         wp_add_inline_style('woocommerce-general', '.product {filter: blur(5px)}');     } } add_action('wp_enqueue_scripts', 'test');

// functions.php: function test() { if (!is_user_logged_in()) { wp_add_inline_style('woocommerce-general', '.product {filter: blur(5px)}'); } } add_action('wp_enqueue_scripts', 'test');

А также есть вопрос по закрытию доступа к заказу из корзины, если пользователь не авторизован.

Можно кодом, с редиректом на страницу с id=myaccount:

// functions.php:  function test() {     if (!is_user_logged_in()) {         wp_redirect(get_permalink(wc_get_page_id('myaccount')));         exit;     } } add_action('woocommerce_before_checkout_form', 'test');

// functions.php: function test() { if (!is_user_logged_in()) { wp_redirect(get_permalink(wc_get_page_id('myaccount'))); exit; } } add_action('woocommerce_before_checkout_form', 'test');

Или плагинами:
- WooCommerce Members Only plugin
- YITH WooCommerce Catalog Mode plugin

  • Спасибо за ответ. Под заблюрить я имею в виду частично скрыть товар для неавторизованных (см. скрин). К сожалению, код не изменил положения. Может есть еще способы?

    Как заблюрить товары на страницах для незарегистрированных пользователей?

  • penix,

    Под заблюрить я имею в виду частично скрыть товар для неавторизованных (см. скрин).

    Заблюрить можно по разному.

    К сожалению, код не изменил положения.

    Какой код? Там их 2.

  • Михаил Р., не стоит давать несколько ответов на разные вопросы в рамках одного. Не нужно и самому нарушать правила и других к этому подталкивать.
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Backend-редакция Ответ

Если речь о табачной тематике и нужно ограничить доступ незарегистрированным, blur — это только визуальная мера. Пользователь всё равно может открыть HTML, увидеть названия, цены и URL картинок. Для реального ограничения нужно не отдавать карточки/изображения полностью.

Простой визуальный вариант для WooCommerce:

add_action('wp', function () {
    if (! is_user_logged_in() && (is_shop() || is_product_category() || is_product())) {
        add_filter('woocommerce_product_get_image', function ($image) {
            return '<div class="product-locked-image">' . $image . '</div>';
        });
    }
});

add_action('wp', function () { if (! is_user_logged_in() && (is_shop() || is_product_category() || is_product())) { add_filter('woocommerce_product_get_image', function ($image) { return '<div class="product-locked-image">' . $image . '</div>'; }); } });

.product-locked-image img {
    filter: blur(14px);
}
.product-locked-image {
    position: relative;
    overflow: hidden;
}

.product-locked-image img { filter: blur(14px); } .product-locked-image { position: relative; overflow: hidden; }

Более правильный вариант: для неавторизованных показывать заглушку вместо товаров или закрывать каталог целиком с формой входа/подтверждения возраста. Для WooCommerce можно редиректить гостей с shop/product pages на страницу авторизации.

Если есть юридические ограничения, не ограничивайтесь CSS. Делайте серверную проверку доступа, возрастное подтверждение и корректные тексты/политики.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно