Xóa gói div và ul khỏi đầu ra của wp_nav_menu


16

Tôi đang sử dụng hệ thống menu mới của Wordpress và đây là kết quả của 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>

Những gì tôi muốn chỉ có điều này:

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

Không, gói div hoặc ul, tôi đã cố gắng tìm vài cách và google xung quanh nhưng không có kết quả :(

Câu trả lời:


27

Việc gói div rất dễ dàng. Khi bạn sử dụng wp_nav_menu(), thêm đối số này:'container' => false

Đối với <ul>phần tử, có một đối số được gọi 'items_wrap'. Xem câu trả lời của woodchucky để biết thêm thông tin về câu hỏi đó (và nâng cấp nó!).


Cám ơn nhiều, ông bạn! Nó hoạt dộng bây giờ. Tôi không quen thuộc với PHP và không biết rằng tôi cần đặt add_filter cho hàm.php.

1
Điều đó vẫn không giải thích làm thế nào để loại bỏ div, mà thay vào đó là kết thúc gói bọc được giải thích ở trên. Đối số container được đặt thành false không hoạt động.
sergio

2
Nếu containerđối số không hoạt động, điều đó có nghĩa là bạn không sử dụng wp_nav_menu. Bạn có thể đang chạy cb dự phòng, mặc định wp_page_menu(), bằng cách không chỉ định menu hoặc vị trí menu với menu được chỉ định.
John P Bloch


5

Để chỉ xuất ra li, hãy thêm phần này vào mảng wp_nav_menu:

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

2

'container' => falseđã thất bại đối với tôi bởi vì tôi đã chỉ định một không tồn tại 'theme_location''menu'. Nó hoạt động ngay khi tôi sửa cái này.

Giải pháp từ: wordpress.org/support


0

Để lọc div gói:

add_filter('wp_nav_menu_args', 'prefix_nav_menu_args');
function prefix_nav_menu_args($args = ''){
    $args['container'] = false;
    return $args;
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.