Menü yürütücüyü kullanarak menünün öğelerinin sonuna özel bir öğe ekleyin


10

Liste öğesindeki bir menünün sonuna bir arama alanı eklemem gerekiyor.

Yürüteçler bakıyordum ama son öğenin ne olduğunu (hatta toplamı) anlamak gerçekten zor. Ayrıca özel öğenin kodunu nereye ekleyeceğim.

Şu anda aldım;

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

Yanıtlar:


19

Bu durumda yürümeye gerek yok. Adlı bir filtre wp_nav_menu_itemskullanılabilir. Bir menünün liste öğelerini düzenlemenizi sağlar. Arama alanına kendi liste öğenizi eklemeniz yeterlidir.

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

Not: Yalnızca belirli bir menüyü hedeflemek istiyorsanız, dinamik bir filtre bulunur:

wp_nav_menu_{$menu->slug}_items


ace - bu yöntemi tamamen unuttum ... teşekkürler.
v3nt

3
Kontrol edebilirsiniz $argsyalnızca belirli bir tema (menü) konumuna arama eklemek için.
Stephen Harris
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.