Как реализовать условную логику в меню WordPress

Опубликовано: 2022-10-14

По умолчанию вы можете легко создавать меню WordPress для своего веб-сайта, но созданное меню отображается на всех страницах вашего веб-сайта. Иногда это можно рассматривать как ограничение, потому что в некоторых случаях вам может понадобиться иметь разные меню на разных страницах или разные меню, отображаемые для разных пользователей. Например, отображение пункта меню «регистрация» для вошедшего в систему пользователя неуместно.

Реализация разных меню в разных условиях не является той гибкостью, которую предоставляет WordPress. В этом руководстве мы рассмотрим условную логику и то, как вы можете реализовать ее в своих меню WordPress для отображения разных меню в разных условиях.

Оглавление

Что такое условная логика

Важность условной логики в меню WordPress

Настройка меню навигации

Как добавить условную логику в меню WordPress

  • Отображение разных меню WordPress для вошедших и вышедших из системы пользователей
  • Отображать разные меню WordPress для разных ролей пользователей
  • Отображать разные меню WordPress на разных страницах
  • Альтернативы плагину условного меню

Вывод

Что такое условная логика

Условная логика — это просто автоматизация, которая происходит, если выполняются или достигаются определенные критерии. Условная логика, например, в основном встречается в формах, где, если определенная опция включена, отображается определенное поле. Например, это можно увидеть в кассе WooCommerce, где, если вы выбираете конкретный платежный шлюз, поля платежного шлюза затем отображаются.

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

Важность условной логики в меню WordPress

Условная логика позволяет улучшить навигацию по вашему сайту WordPress.

Существуют различные сценарии, в которых вы хотели бы реализовать условную логику в своих меню. Некоторые из них включают:

i) Отображение разных меню для вошедших и вышедших из системы пользователей.

ii) Отображение разных меню на разных страницах.

iii) Отображение разных меню для разных ролей пользователей

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

Настройка меню навигации

Большинство тем WordPress поставляются с предустановленными меню и расположением меню. Однако вам может потребоваться настроить навигацию по меню, соответствующую функциональности вашего сайта. Например, вам может понадобиться настроить меню, отображаемое для архивов и другое для обычных страниц.

Чтобы настроить меню навигации, вы можете сделать это, выполнив следующие действия:

Перейдите в раздел «Внешний вид» > «Меню» на панели инструментов WordPress.

Нажмите на ссылку «Создать новое меню».

На следующем экране укажите название меню и нажмите на кнопку «Создать меню»:

Затем на левой панели вы можете выбрать содержимое, которое вы хотите отобразить в меню, щелкнув значок аккордеона и выбрав различные элементы меню, установив различные флажки.

После выбора пунктов меню, которые вы хотите иметь под каждым аккордеоном, добавьте пункты меню в меню, нажав кнопку «Добавить в меню» на каждом из них.

Затем вы можете перетаскивать элементы меню справа в соответствии с вашим предпочтительным порядком.

Под пунктами меню также есть возможность указать место отображения меню или раздел, в котором вы хотите отобразить меню. Разные темы могут иметь разное расположение меню.

После выполнения вышеуказанного убедитесь, что вы сохранили меню, нажав кнопку «Сохранить меню», показанную на снимке экрана выше.

Как добавить условную логику в меню WordPress

Условную логику в меню WordPress можно добавить с помощью пользовательского кода или плагина. В нашем случае здесь мы будем использовать плагин Conditional Menus.

Плагин Conditional Menus — это бесплатный плагин, и вы можете настроить его, выполнив следующие шаги:

Перейдите в раздел «Плагины» > «Добавить новый» на панели инструментов WordPress.

Найдите плагин «Условные меню».

Переходим к установке и активации плагина.

Отображение разных меню WordPress для вошедших и вышедших из системы пользователей

В различных случаях важно отображать разные меню WordPress для вошедших и вышедших из системы пользователей. Например, если вы управляете интернет-магазином, эта функция может вам пригодиться. Чтобы добиться такой реализации, вам нужно будет выполнить следующее:

i) Сначала настройте два разных меню. Один служит меню для вошедших в систему пользователей, а другой — для вышедших из системы. Вы можете использовать шаги, указанные в разделе «Настройка меню навигации».

ii) Перейдите в раздел «Внешний вид» > «Меню» > «Управление местоположениями».

iii) Затем в том месте темы, где вы хотите отобразить меню, нажмите ссылку «Условное меню».

iv) Выберите меню, которое вы хотите отображать для зарегистрированных пользователей

v) Нажмите на ссылку условия

vi) Во всплывающем окне выберите параметр «Пользователь вошел в систему», который присутствует на вкладке «Общие».

vii) Сохраните все ваши изменения

Теперь, когда вы попытаетесь получить доступ к веб-сайту во время входа в систему, вы заметите, что меню входа в систему будет отображаться на сайте. Ниже приведен образец иллюстрации, основанный на нашем примере здесь:

Если вы также просматриваете сайт, не выходя из системы, вы заметите, что отображается меню по умолчанию. Ниже приведен образец по этому поводу:

Отображать разные меню WordPress для разных ролей пользователей

С помощью плагина условного меню можно отображать разные меню WordPress для разных ролей пользователей. Подобно отображению разных меню для вошедших и вышедших из системы пользователей, вам необходимо сначала настроить разные меню для разных ролей пользователей в разделе «Внешний вид» > «Меню». Как только это будет сделано:

i) Перейдите в раздел «Внешний вид» > «Меню» > «Управление местоположениями».

ii) Затем нажмите ссылку «Условное меню».

iii) Как только это будет сделано, укажите меню для желаемой роли пользователя.

iv) Щелкните ссылку «Условия», показанную на снимке экрана выше, и во всплывающем окне перейдите на вкладку «Роли пользователей» и укажите роль пользователя, которая будет иметь возможность просматривать конкретное меню.

v) Сохраните изменения

После предварительного просмотра меню в качестве администратора в нашем случае вы заметите, что будет отображаться установленное меню. Ниже приведен пример скриншота по этому поводу:

Отображать разные меню WordPress на разных страницах

Плагин условного меню также можно использовать для рендеринга различных меню WordPress на разных страницах.

Как и в других приложениях, описанных выше, вам необходимо сначала настроить меню в разделе «Внешний вид» > «Меню». Это меню будет использоваться на странице, где вы хотите отобразить другое меню.

После этого перейдите в раздел «Управление местоположениями» и выберите меню, которое вы хотите отобразить.

Затем нажмите на ссылку условий, показанную на скриншоте выше.

Во всплывающем окне перейдите в раздел «Страницы» и выберите страницу, на которой вы хотите отобразить меню.

Как только это будет сделано, сохраните все изменения.

После предварительного просмотра заданной страницы, в нашем случае здесь «Моя учетная запись», вы заметите, что меню применяется. Ниже приведен пример скриншота по этому поводу:

Альтернативы плагину условного меню

Помимо плагина Conditional Menus, существует множество других плагинов, которые также могут дать вам контроль над вашими меню. Некоторые из плагинов, которые вы можете рассмотреть, включают:

1. Пользовательские меню – Видимость навигационного меню

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

С плагином вы можете указать, кто может видеть определенные ссылки меню (конкретные роли пользователей, вышедшие из системы пользователи или все).

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

2. If Menu – управление видимостью меню .

Плагин If Menu позволяет вам контролировать видимость пунктов меню. С помощью плагина вы можете указать следующие условия видимости:

  • Видимость на основе роли пользователя
  • Видимость в зависимости от того, вошел ли пользователь в систему
  • Видимость в зависимости от типа страницы
  • Видимость в зависимости от того, является ли устройство посетителя мобильным устройством

Вы также можете приобрести аддон More Visibility Rules, если хотите включить больше функций видимости в пункты меню. Некоторые из этих функций включают в себя:

  • Видимость на основе членства и подписок
  • Видимость в зависимости от местоположения посетителя
  • Видимость на основе языка посетителя

Вывод

Использование различных меню на вашем сайте WordPress помогает создать отличный пользовательский опыт при навигации по вашему сайту. Это реализуется, например, путем рендеринга меню, релевантного только пользователям, на основе заданных условий.

В этом руководстве мы рассмотрели, как реализовать условную логику в меню WordPress. Мы надеемся, что эта информация будет полезна при отображении различных меню в зависимости от набора и желаемого состояния.

Если у вас есть какие-либо отзывы, вопросы или предложения, пожалуйста, не стесняйтесь использовать раздел комментариев ниже.