Удаляем класс current_page_parent для блога в меню WordPress

Если в меню WordPress есть пункт меню "Блог", а мы находимся на странице пользовательского типа записи, например, на странице услуги, проекта и др., то у пункта меню "Блог" будет класс  current_page_parent, то есть пункт меню "Блог" будет подсвечиваться, как будто страница услуги является постом.  Чтобы исправить это, разместим следующий код в файле functions.php:

//удаляем класс current_page_parent в меню ВП для блога
add_filter( 'nav_menu_css_class', 'fix_blog_menu_css_class', 10, 2 );
function fix_blog_menu_css_class( $classes, $item ) {
    if ( (is_tax() || is_singular() || is_post_type_archive()) && !is_singular('post') ) {
        if ( $item->object_id == get_option('page_for_posts') ) {
            $key = array_search( 'current_page_parent', $classes );
            if ( false !== $key )
                unset( $classes[ $key ] );
        }
    }

    return $classes;
}

Обновлено: 20.09.2018

Вам помогла эта статья? Оцените!
(Пока оценок нет)
Загрузка...

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *