Как сделать скрытые данные на сайте на движке WordPress +Elementor?

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

Нужно сделать так что бы не зарегистрированные на сайте пользователи не видели некоторые данные (цену, количество объектов и пр). Сайт делается на WordPress + Elementor, Jetengine. При помощи последнего данные и подствляются, но нужно что б пользователи их видели только после регестраци.

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

if (пользователь авторизован) {   Показать данные }

if (пользователь авторизован) { Показать данные }

  • https://qna.habr.com/help/rules
    Пункт 3.1
  • В случае, если к вопросу подходит несколько тегов, один из которых является подмножеством другого (в качестве примера рассмотрим теги «PHP» и «Программирование»), следует указывать только наиболее конкретный тег (в данном примере это «PHP»). Поскольку, если будет указан более абстрактный тег («Программирование») это приведет к тому, что пользователи, интересующиеся другими подмножествами (например, другими языками программирования), получат нерелевантную информацию.

    У вас конкретная проблема с вордпрессом. Нафига здесь тег ВЕБ-РАЗРАБОТКА и уж совсем непонятно, каким боком здесь css?

  • В плагине Джетэнджин должна быть такая функция смотри внимательнее
  • Сергей delphinpro, согласен, но здесь не только в вп дело из-за наличия большого количества плагинов проблема более сложная (тк в код в элементоре можно писать только через кастом сss.
    P. S.
    Сори, я впервые задаю на платформе вопрос и ещё не до конца разобрался во всем
  • Нужно решить такую задачу?

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

    Заказать помощь
    Лучший ответ
    1
    Андрей PHP Ответ

    Скрывать цены и другие данные от гостей нужно на серверной стороне, а не только CSS. Если просто спрятать блок в Elementor через стили, данные всё равно останутся в HTML и их можно будет увидеть в исходном коде страницы.

    В JetEngine/Elementor сначала проверьте Dynamic Visibility: у JetEngine есть условия показа виджетов для авторизованных и неавторизованных пользователей. Это самый быстрый вариант без кода. Для цены WooCommerce можно дополнительно использовать hooks.

    Пример скрытия цены WooCommerce для гостей:

    add_filter('woocommerce_get_price_html', function ($price, $product) {
        if (! is_user_logged_in()) {
            return '<span class="login-to-see-price">Цена доступна после регистрации</span>';
        }
     
        return $price;
    }, 10, 2);
     
    add_filter('woocommerce_is_purchasable', function ($purchasable, $product) {
        return is_user_logged_in() ? $purchasable : false;
    }, 10, 2);

    add_filter('woocommerce_get_price_html', function ($price, $product) { if (! is_user_logged_in()) { return '<span class="login-to-see-price">Цена доступна после регистрации</span>'; } return $price; }, 10, 2); add_filter('woocommerce_is_purchasable', function ($purchasable, $product) { return is_user_logged_in() ? $purchasable : false; }, 10, 2);

    Если скрываются кастомные поля JetEngine, выводите их через условие is_user_logged_in() или штатные visibility conditions. Важно проверить не только карточку, но и архивы, поиск, REST API, микроразметку, быстрый просмотр и любые AJAX-фильтры, чтобы закрытые данные не утекали через альтернативный вывод.

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

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

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

    комментарий

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

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