Intereting Posts
WP supersize не отображается, когда выбраны флаги разных языков Фильтрация списка объектов с помощью «OR» в одном поле Исключение персонализированного типа сообщения с определенным тегом, использующим pre_get_posts Каков шаблон моей домашней страницы? Добавить обязательное поле для регистрации Помимо WP-CLI, есть ли способ установить WordPress через командную строку? вставлять изображение вместе с пользовательскими данными через внешнюю форму Как изменить размеры заголовка в WordPress? Мне нужен совет о том, как структурировать категории в соответствии с макетом, который у меня есть Как изменить текст «Читать дальше»? Как go дать значение $ wp_query Как выполнить запрос по пользовательским таксономии, который не классифицирован? Отображение подкатегории Имя / Ссылка Вместо родительской категории Равные секции высоты в пользовательской теме Headway как включить предварительно загруженное личное сообщение

Ориентация на конкретное меню с помощью wp_nav_menu_items

Привет! Я добавил wp_loginout () в свой заголовок, используя фрагмент в моих functions.php:

add_filter('wp_nav_menu_items', 'add_login_logout_link', 10, 2); function add_login_logout_link($items, $args) { ob_start(); wp_loginout('index.php'); $loginoutlink = ob_get_contents(); ob_end_clean(); $items .= '<li>'. $loginoutlink .'</li>'; return $items; } 

Дело в том, что он показывает ссылку для входа в каждом из трех моих меню:

  function register_main_menus() { register_nav_menus( array( 'primary-menu' => __( 'Primary Menu' ), 'secondary-menu' => __( 'Secondary Menu' ), 'footer-menu' => __( 'Footer Menu' ), ) ); }; 

Я хотел бы настроить таргетинг на фильтр wp_nav_menu_items, чтобы включить только ссылку для входа в основное меню. Идеи? заранее спасибо

См. Этот связанный вопрос . Я предполагаю, что в вашем случае вы бы вложили свой код в if( $args->theme_location == 'primary-menu' ) .

Измените свой код следующим кодом. Вы забыли добавить условие if ($args->theme_location == 'primary-menu') это условие проверяет, является ли меню основным меню или нет.

 add_filter('wp_nav_menu_items', 'add_login_logout_link', 10, 2); function add_login_logout_link($items, $args) { if ($args->theme_location == 'primary-menu') { ob_start(); wp_loginout('index.php'); $loginoutlink = ob_get_contents(); ob_end_clean(); $items .= '<li>' . $loginoutlink . '</li>'; return $items; } } function register_main_menus() { register_nav_menus( array( 'primary-menu' => __( 'Primary Menu' ), 'secondary-menu' => __( 'Secondary Menu' ), 'footer-menu' => __( 'Footer Menu' ), ) ); };