Как изменить имя класса подменю на сайте WordPress

ВОПРОС

Всем привет! WordPress самостоятельно создает дочерний элемент <ul>. Есть способ, который позволяет поменять название класса этого элемента? Я знаю, как можно заменить имя родителя, используя “menu_class” => “newname”. Поэтому сначала я думал, что будет логичным попробовать submenu_class” => “customname”, но это не работает. Есть идеи по этому поводу?

ОТВЕТ

Скажу так – система не дает такой возможности. Но есть один способ сделать это немного по-другому. Смотри – чтобы создать меню CMS использует объект “walker” и его можно немного расширить. Для этого всего лишь необходимо переопределить один метод:

class My_Walker_Nav_Menu extends Walker_Nav_Menu {
function start_lvl(&$output, $depth) {
$indent = str_repeat(“t”, $depth);
$output .= “n$indent<ul class=”my-sub-menu”>n”;
}
}

Когда ты сделаешь это, нужно будет передать экземпляр “walker” в качестве аргумента:

“walker” => new My_Walker_Nav_Menu()

Надеюсь, тебе это действительно поможет.