मेनू वॉकर का उपयोग करके मेनू के आइटम के अंत में एक कस्टम आइटम जोड़ें


10

मुझे सूची आइटम में मेनू के अंत में एक खोज फ़ील्ड जोड़ना होगा।

मैं वॉकर को देख रहा हूं, लेकिन यह पता लगाना बहुत मुश्किल है कि अंतिम वस्तु क्या है (या यहां तक ​​कि कुल प्राप्त करें)। इसके अलावा मैं कस्टम आइटम के लिए कोड कहां जोड़ूंगा।

मुझे वर्तमान में मिल गया है;

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

जवाबों:


19

आपको इस मामले में वॉकर की आवश्यकता नहीं है। नामक एक फिल्टर wp_nav_menu_itemsउपलब्ध है। यह आपको एक मेनू की सूची आइटम को संपादित करने की अनुमति देता है। बस खोज फ़ील्ड के साथ अपनी सूची आइटम जोड़ें।

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

नोट: यदि आप केवल एक विशिष्ट मेनू को लक्षित करना चाहते हैं, तो एक गतिशील फ़िल्टर मौजूद है:

wp_nav_menu_{$menu->slug}_items


इक्का - उस विधि के बारे में पूरी तरह से भूल गया ... धन्यवाद।
v3nt

3
आप $argsखोज को केवल एक विशेष थीम (मेनू) स्थान पर जोड़ सकते हैं ।
स्टीफन हैरिस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.