Удалите обертывание div и ul из вывода меню wp nav
Я использую новую систему меню 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, но безрезультатно:(
5 answers
Упаковка div проста. При использовании wp_nav_menu()
добавьте этот аргумент: 'container' => false
Для элемента <ul>
существует аргумент 'items_wrap'
. Смотрите Ответ вудчаки для получения дополнительной информации об этом (и озвучьте его!).
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;
}