Sử dụng trình đơn menu thêm một mục tùy chỉnh vào cuối các mục của menu


10

Tôi cần thêm một trường tìm kiếm ở cuối menu trong một mục danh sách.

Tôi đã nhìn vào những người đi bộ nhưng thực sự rất khó để tìm ra đâu là mục cuối cùng (hoặc thậm chí có được tổng số). Ngoài ra, nơi tôi sẽ thêm mã cho các mục tùy chỉnh.

Tôi hiện đã có;

class mainNav_walker extends Walker_Nav_Menu
{
    public function start_el( &$output, $item, $depth, $args )
    {
        //print_r($item);

        $output .= $this->custom_content( $item );
        parent::start_el( &$output, $item, $depth, $args );
    }

    protected function custom_content( $item )
    {
       // add <li>SEARCH FIELD HERE?</li>
    }
}

Câu trả lời:


19

Bạn không cần một người đi bộ trong trường hợp này. Một bộ lọc được gọi wp_nav_menu_itemslà có sẵn. Nó cho phép bạn chỉnh sửa các mục danh sách của một menu. Chỉ cần nối thêm mục danh sách của riêng bạn với trường tìm kiếm.

add_filter( 'wp_nav_menu_items', 'add_search_to_nav', 10, 2 );

function add_search_to_nav( $items, $args )
{
    $items .= '<li>SEARCH</li>';
    return $items;
}

Lưu ý: nếu bạn chỉ muốn nhắm mục tiêu một menu cụ thể, bộ lọc động tồn tại:

wp_nav_menu_{$menu->slug}_items


ace - hoàn toàn quên mất phương pháp đó ... cảm ơn.
v3nt

3
Bạn có thể kiểm tra $argsđể chỉ thêm tìm kiếm vào một vị trí chủ đề (menu) cụ thể.
Stephen Harris
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.