@lid2pro

Как в wordpress задать свой стиль пункту меню?

Добрый день, коллеги, выручайте.

В меню есть такие пункты, ведущие на страницы: Статьи, Новости и т.д.

Как сделать так, что при просмотре записи рубрики "Статьи", пункт меню Статьи был активным (ему присваивался класс)?

Если (рубрика просматриваемой записи = "статьи")
{ присвоить пункту меню с id = "123" класс active
}

Как это сделать?
  • Вопрос задан
  • 196 просмотров
Решения вопроса 1
alsolovyev
@alsolovyev
¯\_(ツ)_/¯ Enjoy life, Eat well & Laugh often
Функцию в functions.php. Добавьте свой стиль к меню итемам(my-custom-class). Указать категорию(my-category)
function mark_menu_item_as_active($classes, $item) {

    if( in_array('my-custom-class',$classes) && ( is_category('my-category') /* OR ...*/  ) )   {
        $classes[] = 'current-menu-item';
    }

    return $classes;
}
add_filter('nav_menu_css_class', 'mark_menu_item_as_active', 10, 2);


Костыль:
if(window.location.href.indexOf("/blog/") > -1) {
   $('#menu-item-339').addClass('current-menu-item');
}
if(window.location.href.indexOf("/articles/") > -1) {
   $('#menu-item-241').addClass('current-menu-item');
}
if(window.location.href.indexOf("/forum/") > -1) {
   $('#menu-item-437').addClass('current-menu-item');
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
jams
@jams
Веб-разработчик | PHP | WP | JS
Ему и так присваивается класс. Посмотрите исходный код меню.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы