При запуске сообщества или форума на WordPress, а также при введении возможности отправки записей пользователями вы можете столкнуться с ситуацией, когда вам понадобится выводить разные навигационные меню для зарегистрированных и незарегистрированных пользователей. К примеру, можно сделать так, чтобы зарегистрированные пользователи видели ссылку на свой профиль, а незарегистрированные – ссылку на вход или регистрацию. В данной статье мы покажем вам, как вывести разные меню для пользователей WordPress.
Даже если ваша тема поддерживает только одно расположение меню, вы все равно способны создавать разные меню для одной локации.
Переходим в раздел Внешний вид – Меню и создаем два меню logged-in и logged-out.
После создания меню добавляем следующий код в файл вашей темы functions.php:
function my_wp_nav_menu_args( $args = '' ) { if( is_user_logged_in() ) { $args['menu'] = 'logged-in'; } else { $args['menu'] = 'logged-out'; } return $args; } add_filter( 'wp_nav_menu_args', 'my_wp_nav_menu_args' );
Теперь зарегистрированные пользователи будут видеть одно меню, а незарегистрированные – другое.
Этот метод позволяет создавать два разных меню для ваших пользователей. Вы легко можете обновлять пункты меню при необходимости. Есть и другие пути, позволяющие сделать то же самое. К примеру, можно добавить ссылки на логин и логаут в навигационное меню, после чего поместить произвольные пункты меню в навигацию.
Источник: wpbeginner.com