• Почему пункт меню в Wordpress не помечается как активный?

    SpectreZ
    @SpectreZ Автор вопроса
    Да, проблема была в шаблоне, но иная.
    По умолчанию в классе обхода пунктов меню, расширяющем класс Walker_Nav_menu, условие определения пункта как активного было таким:
    if(in_array('current-menu-item', $item->classes)) ...

    Пришлось его расширить, добавив дополнительные проверки. Не знаю, насколько это правильно, возможно в WP должны быть такие возможности по умолчанию. Я добавил такие условия:
    (strpos($item->url, $post->post_name) > 0) || // для стандартных страниц
    (strpos($item->url, $post->post_type) > 0) || // для записей пользовательских типов
    (get_the_category($post)[0]->name == $item->title) // для стандартных записей рубрики
    Ответ написан
    Комментировать