wp_nav_menu의 출력에서 ​​랩핑 div 및 ul 제거 <li id=”menu-item-28″ class=”menu-item

WordPress의 새로운 메뉴 시스템을 사용하고 있으며 wp_nav_menu ()의 결과입니다.

    <div class="menu-main-menu-container">
   <ul id="menu-main-menu" class="menu">
   <li id="menu-item-28" class="menu-item menu-item-type-post_type current-menu-item page_item page-item-21 current_page_item menu-item-28"><a href="http://www.bemang.com/">Trang nhà</a></li>
    <li id="menu-item-29" class="menu-item menu-item-type-post_type menu-item-29"><a href="http://www.bemang.com/blog/">Blog</a></li>
    <li id="menu-item-30" class="menu-item menu-item-type-post_type menu-item-30"><a href="http://www.bemang.com/gioi-thieu/">Giới thiệu</a></li>
    </ul>
   </div>

내가 원하는 것은 이것뿐입니다.

<li id="menu-item-28" class="menu-item menu-item-type-post_type current-menu-item page_item page-item-21 current_page_item menu-item-28"><a href="http://www.bemang.com/">Trang nhà</a></li>
   <li id="menu-item-29" class="menu-item menu-item-type-post_type menu-item-29"><a href="http://www.bemang.com/blog/">Blog</a></li>
   <li id="menu-item-30" class="menu-item menu-item-type-post_type menu-item-30"><a href="http://www.bemang.com/gioi-thieu/">Giới thiệu</a></li>

아니요, div 또는 ul을 래핑하면 몇 가지 방법과 Google을 시도했지만 결과는 없습니다.



답변

줄 바꿈 div는 쉽습니다. 를 사용할 때 다음 wp_nav_menu()인수를 추가하십시오.'container' => false

위해 <ul>요소라는 주장이있다 'items_wrap'. 그것에 대한 자세한 내용은 woodchucky의 답변 을 참조하십시오 (그리고 찬성하십시오!).


답변

wp_nav_menu() 문서화되지 않은 매개 변수를 받아들입니다.

‘items_wrap’=> ‘ <ul id="%1$s" class="%2$s">%3$s</ul>

이것은 다음에 의해 실행됩니다.
$nav_menu .= sprintf( $args->items_wrap, esc_attr( $wrap_id ), esc_attr( $wrap_class ), $items );

당신은 sprintf 인수를 가지고 놀 수 있습니다

예 : ‘items_wrap’=> ‘% 3 $ s’는 줄 바꿈 <ul>태그를 제거합니다.


답변

li 만 출력하려면 wp_nav_menu 배열에 다음을 추가하십시오.

'container'      => '',
'items_wrap'    => '%3$s',


답변

'container' => false나는 존재하지 않는 지정했기 때문에 나를 위해 실패했다 'theme_location''menu'. 이 문제를 해결하자마자 작동했습니다.

솔루션 : wordpress.org/support


답변

랩핑 div를 필터링하려면 다음을 수행하십시오.

add_filter('wp_nav_menu_args', 'prefix_nav_menu_args');
function prefix_nav_menu_args($args = ''){
    $args['container'] = false;
    return $args;
}


답변