Правила видимости
Показывайте или скрывайте отдельные пункты меню в зависимости от того, кто просматривает сайт, с какого устройства, в какое время и авторизован ли посетитель.
Как работают правила видимости
У каждого пункта меню свой набор правил видимости. Правила настраиваются в разделе Menu Builder → Menu Structure — нажмите на любой пункт в списке, чтобы развернуть его параметры, и найдите выпадающий список Visibility и раздел Advanced conditions.
По умолчанию все пункты видны всем. Как только вы задаёте правило, пункт показывается только посетителям, удовлетворяющим этому условию. Разные типы правил объединяются по логике И — для отображения пункта должны выполняться все включённые правила.
Выпадающий список видимости (роль и авторизация)
У каждого пункта есть один выпадающий список Visibility, в котором вы выбираете один из вариантов:
| Вариант | Описание |
|---|---|
| Все | По умолчанию. Без ограничений — пункт показывается всем посетителям. |
| Любой авторизованный пользователь | Виден только пользователям, выполнившим вход (с любой ролью). |
| Только гости (не авторизованные) | Виден только посетителям, которые не выполнили вход. Удобно для ссылок «Войти» / «Регистрация». |
| Только [роль] | Виден только пользователям именно с этой ролью — например, «Только администратор», «Только редактор», «Только клиент». Вы выбираете одну роль из списка. |
Пользовательские роли, добавленные другими плагинами (например, «Управляющий магазином» или «Клиент» из WooCommerce), появляются в списке автоматически. Чтобы нацелиться сразу на несколько ролей, используйте поле Roles в разделе Advanced conditions (укажите список через запятую, например editor,author — пункт покажется только пользователям с одной из этих ролей).
Устройство
В разделе Advanced conditions можно показывать или скрывать пункт в зависимости от типа устройства посетителя:
- Все устройства — по умолчанию.
- Только мобильные — показывается только на телефонах/планшетах, скрыт на десктопе.
- Только десктоп — показывается только на десктопе, скрыт на мобильных.
Определение устройства выполняется на стороне сервера при загрузке страницы с помощью функции WordPress wp_is_mobile(). В отличие от медиазапросов CSS, это означает, что в браузер отправляется корректный HTML — а не просто скрытый средствами CSS — что исключает мерцание содержимого. Учтите, что wp_is_mobile() относит планшеты к мобильным устройствам.
Расписание и время
В разделе Advanced conditions доступны два независимых элемента управления расписанием.
Диапазон дат
Задайте дату/время начала и/или дату/время окончания. Пункт виден только в этом интервале (включительно). Оставьте любое из полей пустым для открытого диапазона — удобно, чтобы рекламная ссылка появлялась и исчезала автоматически.
Ежедневное временное окно
Задайте время с и до (ЧЧ:ММ). Пункт виден только в этом окне каждый день. Пример: показывать ссылку «Онлайн-поддержка» только с 09:00 до 18:00.
Правила расписания используют часовой пояс вашего сайта WordPress (задаётся в Настройки → Общие → Часовой пояс), а не местное время посетителя.
Конфиденциальность. Все правила видимости — роль, статус авторизации, устройство и UTM-источник — вычисляются на вашем собственном сервере WordPress при формировании страницы. Плагин читает только текущий запрос (например, utm_source в URL страницы); он не хранит, не записывает в журнал и не отправляет данные посетителей третьим сторонам.
Таргетинг по страницам и кампаниям
Раздел Advanced conditions дополняют ещё два условия:
- Страницы — ограничьте пункт конкретными страницами, указав их идентификаторы (через запятую).
- UTM source — показывать пункт только когда посетитель приходит с подходящим параметром запроса
utm_source. Удобно для адаптации меню под конкретную маркетинговую кампанию.
Комбинирование правил
Все активные правила должны выполняться одновременно (логика И). Например, чтобы показать пункт меню только авторизованным пользователям на десктопе в рабочие часы:
- Выпадающий список видимости → Любой авторизованный пользователь
- Устройство → Только десктоп
- Ежедневное временное окно → 09:00–18:00