Menggunakan walker menu, tambahkan item kustom di akhir item menu


10

Saya perlu menambahkan bidang pencarian di akhir menu dalam daftar item.

Saya telah melihat pejalan kaki tetapi merasa sangat sulit untuk mencari tahu apa item terakhir (atau bahkan mendapatkan total). Di mana saya akan menambahkan kode untuk item khusus.

Saat ini saya punya;

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

Jawaban:


19

Anda tidak perlu alat bantu jalan dalam kasus ini. Filter disebut wp_nav_menu_itemstersedia. Ini memungkinkan Anda untuk mengedit item daftar menu. Cukup tambahkan item daftar Anda sendiri dengan bidang pencarian.

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

Catatan: jika Anda hanya ingin menargetkan menu tertentu, ada filter dinamis:

wp_nav_menu_{$menu->slug}_items


ace - benar-benar lupa tentang metode itu ... terima kasih.
v3nt

3
Anda dapat memeriksa $argsuntuk hanya menambahkan pencarian ke lokasi tema (menu) tertentu.
Stephen Harris
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.