2013-11-20 3 views
1

Я использую функцию WordPress wp_nav_menu, чтобы создать мое главное меню.Добавить активный класс к ссылке меню с WordPress

В этом меню у меня есть ссылка под названием «Новости» для примера, и я хотел бы выделить эту ссылку, когда я в шаблоне файла single.php.

На данный момент мой код приведен ниже. Я не «привык» к работе с этой функцией WordPress.

<?php wp_nav_menu(array('theme_location' => 'primary', 'menu_class' => 'nav-menu')); ?> 

Есть ли способ сказать Exemple

if($is_single()) 
{ 
echo 'class="active"'; 
} 

Я проверил Arround на SO, и я основал некоторую информацию, которая может быть интересно, но ничего не действительно отвечая на мой вопрос.

На этой странице кто-нибудь предложить, чтобы проверить в «Показать на экране» Параметры: add class to dropdown menu inside dynamic wordpress menu

enter image description here

Я также нашел эту страницу в Codex, но я не знаю, как использовать его : http://codex.wordpress.org/Function_Reference/wp_nav_menu#How_to_add_a_parent_class_for_menu_item

Thx за помощь!

ответ

1

Ну, у вас есть два хороших вариантов, чтобы сделать это:

Первый добавить имя класса single.php основной DIV и чем добавить в файл CSS свойство, как: .singleClass .nav-menu ul li a {color: red; //any setting you would like }

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

Если это не работает для вас, я хотел бы узнать больше о вашей иерархии тем, чтобы я мог быть более конкретным с моим ответом.

+0

Я только что понял, что могу делать только Я думаю, что это невозможно сделать другим способом? –

+0

Вы правы. это способ Wordpress сделать это. вы можете сделать это по-другому, но они намного сложнее и менее «удобны для пользователя» –

+0

Я мог бы попробовать ваше первое предложение. Возможно, это сработает. –

2

wp_nav_menu автоматически добавляет класс "current_page_item" в тег li. поэтому вы можете настроить «current_page_item» для активного меню.

li.current_page_item a{ 
color:#fff; 

}

1

вы можете использовать несколько классов в меню нав как этот

<?php wp_nav_menu(array('theme_location' => 'primary', 'menu_class' => 'nav-menu active')); ?> 
+0

Это будет отлично работать, если я нахожусь на странице. Но я хочу, чтобы меню страницы было «активным», когда я нахожусь на single.php или archives.php. –

0

В WordPress 4.x это есть класс в текущем меню, как current_page_item, так что вы есть добавить css для класса .current_page_item для текущего и активного классов, подобного этому

.current_page_item 
{ 
border-bottom: 3px solid #50c1e9; 
} 

и посмотреть результат после обновления страницы.

Смежные вопросы