Вы обращали внимание, что при переходе в запись ТК ссылка на сам ТК в меню активна, а ссылки на категорию, к которой запись принадлежит, нет?
Приходилось ли вам делать вложенные пункты с произвольными ссылками в меню? Родительские ссылки при переходе по ним ведь тоже не засветились?
Если заглянуть в метод menu, станет понятно почему так. Как по мне, там всё верно и лучший принцип определения активных пунктов на PHP трудно найти (у меня, по крайней мере, даже идей нет). Снова таки имхо, единственный вариант решения — повесить обработку на JavaScript (но родительскую категорию записи ТК получим ещё на сервере).
Залейте файл из архива, прикреплённого к посту, по пути templates/modern/assets/ui. В опциях виджета, выводящего нужное меню, укажите файл menu_act.
Пример можно посмотреть здесь
Если нужно для default или своего шаблона, выдернуть код не составит труда (там всё откомментировано).
Удачи всем!