使用菜单浏览器,在菜单项的末尾添加自定义项


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

Answers:


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


ace-完全忘记了该方法...谢谢。
v3nt 2012年

3
您可以选中$args仅将搜索添加到特定主题(菜单)位置。
Stephen Harris
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.