아코디언 메뉴를 만드는 최초의 맞춤형 워커를 만들고 있습니다. 우선이 예제를 사용했습니다 : http://bitacre.com/2025/custom-nav-menu-walker-for-wordpress-themes
두 가지 기능이 있습니다. 먼저 start_lvl 다음 start_el.
start_el에서 ID는 $ item-> ID로 구현됩니다. 아무도 내가 start_lvl에서 어떻게 할 수 있는지 알고 있습니까? 아코디언 메뉴에서 축소되도록 트리거 할 수 있도록 (낮은 수준의 내비게이션 둘러보기) ID를 제공해야합니다.
내가 생성하려고하는 것은 다음과 같습니다.
<a href="#collapse2">Titel 2</a>
<ul id="collapse2">Lower Level Menu 2</ul>
<a href="#collapse3">Titel 3</a>
<ul id="collapse3">Lower Level Menu 3</ul>
start_lvl 함수에 대한 내 코드 :
// add id's and classes to ul sub-menus
function start_lvl( &$output, $depth, $item ) {
// depth dependent classes
$indent = ( $depth > 0 ? str_repeat( "\t", $depth ) : '' ); // code indent
$display_depth = ( $depth + 1); // because it counts the first submenu as 0
$pgid = ; // How to get ID in here??
$classes = array(
'sub-menu',
( $display_depth == 1 ? 'accordion-body collapse' : '' ),
( $display_depth % 2 ? 'menu-odd' : 'menu-even' ),
( $display_depth >=2 ? 'sub-sub-menu' : '' ),
'menu-depth-' . $display_depth
);
$ids = array(
'collapse' . $pgid
);
$class_names = implode( ' ', $classes );
$id_name = implode( ' ', $ids );
// build html
$output .= "\n" . $indent . '<ul id="' . $id_name . '" class="' . $class_names . '">' . "\n";
}