Answer the question
In order to leave comments, you need to log in
How to make wordpress menu with anchors without applying "current-menu-item" to them?
Приветствую!
Проблема в следующем. Необходимо сделать меню ВП, где были бы якоря, которые ведут к определенному блоку страницы.
Сайт многостраничный, следовательно, ссылка якоря нуждается в адресе самой страницы и выглядит как http://сайт.ру/#contact и т.п.
В чем проблема. Когда я нахожусь на странице http://сайт.ру/, пункты меню с якорями тоже выделяются как активные, это плохо и не нужно.
Что делать?
Answer the question
In order to leave comments, you need to log in
Try this scheme (I wrote from memory without checking, so there may be an error, but I think the direction is correct)
add_filter('wp_nav_menu', function($nav_menu){
$result = preg_match_all('#<li(?:.*)><a href="[\#]{1}(.*)">(?:.*)</a></li>#', $nav_menu, $matches);
if($result){
foreach($matches[0] as $match){
$link = $match;
$match = str_replace(array('current-menu-item', 'current-category-ancestor'), '', $match);
$nav_menu = str_replace($link, $match, $nav_menu);
}
}
return $nav_menu;
});
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question