If Menu — Visibility control for Menu Items

Описание

Control what menu items your site’s visitors see, based on visibility rules. Here are a few examples:

  • Отобразить элемент меню только если текущий Пользователь авторизован на вашем сайте
  • Hide menu items if Device is mobile
  • Отображать элементы меню только для Администраторов и Редакторов
  • Hide Login or Register links for Logged in Users
  • Display menu items for Users from US or UK
  • Display menu items only for Customers with active membership
  • Display menu items for visitors browsing with Language English or Spanish

Плагин прост в использовании, каждый элемент меню будет иметь параметр ‘Изменить видимость элемента меню’, который позволит выбирать правила (пример в скриншотах).

Основные функции

  • Основной набор правил видимости
    • Состояние пользователя Авторизован ли пользователь
    • Роли пользователя Администратор Редактор Автор и т.д.
    • Тип страницы Главная страница Одна страница Страница записи
    • Visitor device Is Mobile
  • Advanced visibility rules — requires Premium plan
    • Visitor location — detect visitor’s Country
    • Visitor language — detect visitor’s selected Language
    • WooCommerce Subscriptions — Display menus for users with active subscription
    • WooCommerce Memberships — Display menus for customers with active membership plans
    • Groups — Detect if users are in specific groups
    • WishList Member — Detect the users’ membership level
    • Restrict Content Pro — Detect the users’ subscription level
  • Несколько правил — сочетание нескольких правил для видимости элементов меню
    • показать еслиПользователь авторизован на вашем сайте И используется Мобильное устройство
    • показать элемент меню если Пользователь Администратор И если это главная страница
  • Поддержка добавления ваших произвольных правил

Пример добавления нового правила видимости описан в разделе FAQ

Скриншоты

  • Включить правила видимости для элементов меню
  • Пример правил видимости

Часто задаваемые вопросы

If Menu is broken, no visibility rules are available

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

Это постоянная проблема с WordPress, которая, надеюсь, будет исправлена в будущих обновлениях.

Попробуйте использовать только один плагин, который изменяет функциональность элементов меню.

Как я могу добавить произвольное правило видимости для элементов меню?

Новые правила могут быть добавлены любым другим плагином или темой.

Пример добавления нового произвольного правила для отображения/скрытия элемента меню когда текущая страница является произвольным типом записи.

// theme's functions.php or plugin file
add_filter('if_menu_conditions', 'my_new_menu_conditions');

function my_new_menu_conditions($conditions) {
  $conditions[] = array(
    'id'        =>  'single-my-custom-post-type',                       // unique ID for the rule
    'name'      =>  __('Single my-custom-post-type', 'i18n-domain'),    // name of the rule
    'condition' =>  function($item) {                                   // callback - must return Boolean
      return is_singular('my-custom-post-type');
    }
  );

  return $conditions;
}
Где я могу найти условные теги (функции)?

В WordPress существует множество Условных тегов, которые могут использоваться для создания различных пользовательских правил для самых разных комбинаций. Список условных тегов достаточно большой и любой разработчик темы/плагина сможет выбрать для себя необходимые условные теги.

Отзывы

05.10.2019
Not only do the standard options work well, but having the option to create my own rule set (in PHP, based on session values etc) we can create our own. Very forward thinking of the author, and to find this plugin was free was also a great surprise. 5 Star plugin, working perfectly on Astra Pro Theme with WP 5.2.3
06.08.2019
Does exactly as described. Thanks for this simple but effective plugin for helping me control what menu items are displayed on my eCommerce/membership sites. This is really useful!
18.05.2019
I tried a number of plugins before settling on this one. None of the others allowed granular control and limited to being logged in, out or by user role. But I need to be able to target unregistered/logged out AND certain roles. With this I can choose whether to show OR hide something meaning I can hide menu items except for certain roles and then the inverse to show exactly what I need. Thanks for the excellent plugin! I work with a lot of non-profits and the free features are a life saver! 🙂
Посмотреть все 87 отзывов

Участники и разработчики

«If Menu — Visibility control for Menu Items» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:

Участники

«If Menu — Visibility control for Menu Items» переведён на 3 языка. Благодарим переводчиков за их работу.

Перевести «If Menu — Visibility control for Menu Items» на ваш язык.

Заинтересованы в разработке?

Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.

Журнал изменений

0.15 — 2 July 2019

  • Updated — Texts & styles for If Menu settings page
  • Fixed — PHP error that may appear for Visibility Rules saved before If Menu v0.9

0.14 — 2 May 2019

  • Added — «User registration is allowed» visibility rule
  • Updated — Improved support for setting multiple visibility rules, without eval function from PHP
  • Updated — Show Membership Levels from «WishList Member» plugin
  • Updated — Compatibility with WordPress 5.2

0.13 — 8 April 2019

  • Updated — Compatiblity with latest WordPress version
  • Updated — Texts & more info about Premium plan
  • Added — Visibility rule — User has expired Subscription, integration with Restrict Content Pro plugin
  • Updated — Visibility rule — Restrict Content Pro Membership shows Level number

0.12.2 — 3 September 2018

  • Fixed — PHP error blocking page load (function formatting language names)

0.12 — 3 September 2018

  • Added — Visiblity rule — Detect visitor’s selected language
  • Updated — Link to Support Request email
  • Fixed — Better check for Premium plan after purchase (was not enabled in some cases)

0.11 — 23 Jul 2018

  • Fixed — Blank page on «Appearance -> Menus»
  • Fixed — Better compatitility with themes / plugins

0.10 — 8 May 2018

  • Added — Visibility rule — User has Subscription Level, integration with Restrict Content Pro plugin
  • Fixed — Display all WooCommerce Membership plans and save the visibility rule
  • Fixed — Small render artifact in menu item title

0.9 — 21 April 2018

This version requires PHP version to be at least 5.4
* Added — Visibility rule — Customer has active membership, integration with WooCommerce Memberships plugin
* Added — Visibility rule — Customer has active Job Manager Listing Subscription, integration with Listing Payments for WP Job Manager plugin
* Added — Option to disable menu item filtering in Admin panel
* Updated — Texts and notices

0.8.3

Release Date — 22 February 2018

  • Fixed — Support for PHP <= 5.3, fixes error

0.8.2

Release Date — 20 February 2018

  • Fixed — Support for older visibilty rule names, fixes PHP warning

0.8.1

Release Date — 20 February 2018

  • Fixed — Better options checking, fixes PHP warning

0.8

Release Date — 19 February 2018

  • Added — Visibility rules with multiple options. Requires Premium plan
  • Added — Visibility rule — User country
  • Added — Visibility rule — Is Super Admin on MultiSite
  • Added — Visibility rule — User is in Group, integration with Groups plugin
  • Added — Visibility rule — User has subscription, integration with WooCommerce Subscriptions plugin
  • Added — Visibility rule — User has active membership plan, integration with WooCommerce Memberships plugin
  • Added — Visibility rule — User membership level, integration with WishList Member plugin
  • Updated — Better conflict detection for Nav_Menu Walker
  • Fixed — translation strings & function used

0.7

Дата релиза — 18 сентября 2017

  • Добавлено улучшение — более красивый вид для правил видимости
  • Добавлена функция исключения администраторов, которая позволяет им видеть скрытые элементы меню на сайте
  • Добавлена страница настроек

0.6.3

Дата релиза — 17 августа 2017

  • Новое правило видимости — Язык RTL
  • Исправление — Работает одно правило с отключенной на сервере функцией Eval

0.6.2

Дата релиза — 8 августа 2017

  • Исправление — Обратная совместимость с PHP < 5.4

0.6.1

Дата релиза — 7 августа 2017

  • Улучшение — Изменены надписи и тесты для более удобного использования
  • Улучшение — Улучшена совместимость с последними версиями WordPress
  • Улучшение — улучшена совместимость с плагинами для переводов
  • Исправление — обнаружение конфликтов с другими плагинами

0.6

Дата релиза — 27 августа 2016

  • Улучшение — Правила видимости теперь работают для стандартных и произвольных ролей пользователя (добавляются плагинами или темами) спасибо Daniele
  • Улучшение — Сгруппированы правила для Пользователей, Страниц и других типов
  • Исправлено — Фильтр элементов меню в административной панели
  • Исправление — Улучшен код при сохранение элементов меню

0.5

Дата релиза — 20 августа 2016

  • Улучшение — Поддержка WordPress версии 4.6
  • Функция — Новое правило для проверки авторизации пользователя на текущем сайте в режиме Multisite (мультисайт) [функция запрошена здесь](https://wordpress.org/support/topic/multi-site-user-is-logged-in-condition)
  • Функция — Добавлена поддержка нескольких правил для элемента меню. спасибо за идею iliasma
  • Улучшение — Добавлены переводы RO & DE (румынский и немецкий языки)

0.4.1

Дата релиза — 13 декабря 2015

  • Исправление — Исправлена ошибка при попытки добавить новый элемент меню

0.4

Дата релиза — 29 ноября 2015

0.3

  • Значок плагина
  • Установлена совместимость с WordPress версии 4

0.2.1

Незначительные исправления

  • Исправлено — Редактирование меню — отображение/скрытие правил при добавлении нового элемента (спасибо Joseph Segal)

0.2

Обновление для лучшей совместимости с более новыми версиями WordPress

  • Функция — доступ к объекту элемента меню при вызове правила (спасибо BramNL)
  • Исправление — появление сообщения с подтверждением о выходе со страницы, даже если вы не внесли никаких изменений в меню (спасибо Denny)
  • Исправление — обновлен класс Walker Walker_Nav_Menu_Edit для более лучшей совместимости с новыми версиями WP
  • Исправлено — пример в файле Readme (спасибо BramNL)

0.1

  • Выпуск плагина. Включенные базовые правила для элементов меню