Заменить меню с помощью виджета или файла настраиваемого шаблона

Я использую дочернюю тему для настройки, и теперь я хочу заменить верхнее меню специальным виджетами или файлом, который содержит пользовательский контент , но тема не поддерживает перехваты, фильтры и действия, поэтому как заменить его без изменения ядра header.php ?

Вот как сейчас вызывается главное меню:

 <?php $main_top = array('theme_location' => 'Top_Menu', 'container' => '', 'menu_class' => 'sf-top-menu', 'menu_id' => 'menu-top', 'fallback_cb' => false);?> <?php if(!of_get_option('disable_top_menu')==1){?> <div class="mainmenu"> <?php wp_nav_menu($main_top);?> <div class="clearfix"></div> </div> <?php }?> 

Вы можете изменить аргументы, переданные в wp_nav_menu с помощью фильтра wp_nav_menu_args . Вы можете использовать этот фильтр, чтобы добавить класс walker , который изменит поведение wp_nav_menu .

Этот подход довольно хакерский, потому что класс ходоков все равно будет «ходить» по всем пунктам меню, но вы можете управлять ими, поэтому решите не выводить какой-либо элемент. Вот хороший учебник по классу ходок.

Внутри вашего класса walker вы можете включить свой собственный контент. Обратите внимание, что вам нужно добавить html , так как PHP код больше не будет оцениваться.