我需要在列表项的菜单末尾添加一个搜索字段。
我一直在看walkers,但发现很难找出最后一项是什么(甚至很难得到总数)。另外,我应该在哪里添加自定义项的代码。
我现在有;
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>
}
}
最合适的回答,由SO网友:Geert 整理而成
在这种情况下,你不需要助行器。名为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