🤔 무엇을
wp_nav_menu()
로 생성된 메뉴중에 서브 메뉴에 ul에 클래스를 부여할 수 있는 옵션이 없다.
어떻게하면 서브메뉴에 특정한 클래스를 부여할 수 있을까?
🔑 해결
WordPress에서 메뉴 HTML을 만드는 데 사용하는 ‘walker’개체를 확장 할 수 있습니다. 하나의 메서드만 재정의 하면 됩니다.
class My_Walker_Nav_Menu extends Walker_Nav_Menu {
function start_lvl(&$output, $depth = 0, $args = array()) {
$indent = str_repeat("\t", $depth);
$output .= "\n$indent
\n";
}
}
Code language: PHP (php)
그런 다음 워커의 인스턴스를 인수로 전달하면 다음 wp_nav_menu
와 같습니다.
wp_nav_menu(array(
'walker' => new My_Walker_Nav_menu()
));
Code language: PHP (php)