Usuń zawijanie div i ul z wyjścia menu wp_nav_menu


17

Korzystam z nowego systemu menu Wordpress, a oto wynik 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>

Chcę tylko tego:

<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>

Nie, pakuję div lub ul, próbowałem na kilka sposobów i google wokół, ale bez rezultatu :(

Odpowiedzi:


28

Owijanie div jest łatwe. Kiedy używasz wp_nav_menu(), dodaj ten argument:'container' => false

Dla <ul>elementu istnieje argument o nazwie 'items_wrap'. Zobacz odpowiedź woodchucky'ego, aby uzyskać więcej informacji na ten temat (i pochwal ją!).


Dzięki wielkie! Teraz działa. Nie znałem PHP i nie wiedziałem, że muszę umieścić add_filter w functions.php.

1
To wciąż nie wyjaśnia, jak usunąć div, co raczej zamyka wrap_class wyjaśnione powyżej. Argument kontenera ustawiony na wartość false nie działa.
sergio,

2
Jeśli containerargument nie działa, oznacza to, że nie używasz wp_nav_menu. Prawdopodobnie uruchamiasz rezerwową wersję cb, która domyślnie jest ustawiona wp_page_menu(), nie podając ani menu, ani lokalizacji menu z przypisanym menu.
John P Bloch,


5

Aby wyświetlać tylko li, dodaj to do tablicy wp_nav_menu:

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

2

'container' => falsezawiodło dla mnie, ponieważ określałem nieistniejące 'theme_location'i 'menu'. Działało, gdy tylko to naprawiłem.

Rozwiązanie z: wordpress.org/support


0

Aby odfiltrować zawijany div:

add_filter('wp_nav_menu_args', 'prefix_nav_menu_args');
function prefix_nav_menu_args($args = ''){
    $args['container'] = false;
    return $args;
}
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.