selftrips
@selftrips
selftrips.ru

Подсветка текущей ссылки?

В при нахождении в меню подсвечивается текущая позиция.
Как это сделать внутри страницы?
То есть если есть ряд ссылок на странице, и среди них на «саму себя», то она подсвечивается.
Желательно средствами wordpress или HTML+CSS
Ну или используя php (в коде страницы)
Спасибо
  • Вопрос задан
  • 99 просмотров
Пригласить эксперта
Ответы на вопрос 3
PavelMonro
@PavelMonro
Все довольно таки просто
Jquery:
$(document).ready(function() {    
$("*").find("a[href='"+window.location.href+"']").each(function(){  // Ищем текущую ссылку     
    $(this).addClass("current_link");     // Добавляем текущей ссылке class - current_link
})
});


Средствами Wp:
add_filter('nav_menu_css_class' , 'add_active_class' , 10 , 2);

function add_active_class ($classes, $item) {
    if (in_array('current-menu-item', $classes) ){
        $classes[] = 'current_link';
    }
    return $classes;
}
Ответ написан
dimovich85
@dimovich85
Уроки по JS - https://t.me/school_ofpery
Проверьте, обычно wp добавляет класс для текущей страницы, типа active.
Ответ написан
ssenj
@ssenj
HTML, CSS, PHP, WordPress, Bitrix
Ищи что-то типа этого.
Этот код из существующего проекта:

// Добавление класса активному пункту меню.
    function special_nav_class($classes, $item, $args) {
        if ('main_menu' == $args->theme_location) {
            if (in_array('current-menu-item', $classes)) {
                $classes[] = 'active';
            }
        }
        return $classes;
    }
    add_filter('nav_menu_css_class' , 'special_nav_class', 10, 3);

    // Добавление стилей пунктам меню.
    function menu_add_class($atts, $item, $args) {
        if ('main_menu' == $args->theme_location) {
            $class = 'main-nav__item';
            $atts['class'] = $class;
        }
        return $atts;
    }
    add_filter('nav_menu_link_attributes', 'menu_add_class', 10, 3);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы