Intereting Posts
Как извлечь данные из сериализованного массива сообщений? Ввод содержимого в header.php без использования wp_head Я хочу добавить параметр URL ко всем URL-адресам Пользовательский столбец администратора исчезает при использовании Quick Edit Изменить заголовок только на динамической странице Изменение «posts_per_page» для цикла defaut Как добавить несколько изображений в настраиваемый тип сообщений? Сохранение настраиваемых полей в пользовательской таксономии Пользовательский запрос с категориальным исключением и пост-мета-«белым списком» Как использовать файл index.php для страницы «Блог», и это не домашняя страница функции для создания термина и условий для детей Дополнительная ссылка на внешнюю веб-страницу Плагин Favicon для WordPress работает в сетевом режиме (multisite)? Как WordPress санирует почтовый контент при сохранении? Или это не так? Измените URL-адрес возврата из Customizer

Пользовательские меню: проблема динамической подсветки с пользовательской домашней ссылкой

В настоящее время я использую wp_nav_menu – все прошло хорошо, экономя динамическую подсветку. Код меню выглядит так (если выбрана домашняя страница, которая является настраиваемой ссылкой):

<div class="menu-header"> <ul class="menu" id="menu-main-nav"> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-126" id="menu-item-126"><a href="path.to.link">Home</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-122" id="menu-item-122"><a href="path.to.link">Information</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-123" id="menu-item-123"><a href="path.to.link">Contact</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-124" id="menu-item-124"><a href="path.to.link">About</a></li> </ul> </div> 

Когда выбрана страница, отличная от дома (которая является «пользовательской ссылкой»), это выписывается:

 <li class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-65 current_page_item menu-item-122" id="menu-item-122"><a href="path.to.link">Information</a></li> 

Как вы можете видеть, это включает в себя активный стиль «current-menu-item», где пользовательская ссылка только пишет «custom-item-type-custom-custom-menu-item-object-custom-custom»,

Итак, мой вопрос заключается в том, есть ли способ добавить выбранный стиль элемента для пользовательских ссылок в меню wp3?

Solutions Collecting From Web of "Пользовательские меню: проблема динамической подсветки с пользовательской домашней ссылкой"

Я достиг этого с помощью jQuery:

 $("#sidebar ul li").each(function () { if ($(this).find("a").attr("href") == window.location.href) { $(this).addClass("current-menu-item"); } }); 

(Мой навигатор находится в div с боковой панелью id, вам нужно будет изменить первый селектор).

Он проверяет, совпадает ли ссылка href с текущим URL-адресом, и если да, добавляет «текущий пункт меню». Затем вы можете активировать активные ссылки в классе .current-menu-style.

Лучшим подходом было бы добавить страницу «Главная» в wp_page_menu() , чтобы вы могли добавить ссылку «Домашняя страница».

Сначала добавьте этот фильтр в functions.php чтобы показать домашнюю ссылку:

 function mytheme_filter_page_menu_args( $args ) { $args['show_home'] = true; return $args; } add_filter( 'wp_page_menu_args', 'mytheme_filter_page_menu_args' ); 

Теперь, в Dashboard -> Appearance -> Menus , вы увидите ссылку «Главная страница» в разделе «Страницы». Выберите его и добавьте в свое меню.

Кредиты и скриншоты здесь .

В моих темах я использую пользовательские меню. В качестве ослабевающего меню я использую следующий код в своих функциях.php:

 function tweaker3_default_menu() { echo '<ul class="sf-menu">'; if(is_home() && !is_paged()) { echo '<li class="current_page_item"><a href="'. home_url( '/' ) . '" title="' . __( 'You are Home', 'tweaker3' ) . '" rel="nofollow">' . __( 'Home', 'tweaker3' ) . '</a></li>'; } else { echo '<li><a href="'. home_url( '/' ) . '" title="' . __( 'Click for Home', 'tweaker3' ) . '" rel="nofollow">' . __( 'Home', 'tweaker3' ) . '</a></li>'; } wp_list_pages( 'title_li=' ); echo '</ul>'; 

Этот код решает мою проблему установки текущего элемента на домашней ссылке. Я надеюсь, это поможет вам.