大理高端网站建设|网站托管|极速建站|WordPress主题设计开发

WordPress函数wp_nav_menu_items向菜单列表中添加搜索内容

2016-01-22 1169次

Wordpress函数wp_nav_menu_items向菜单列表中添加搜索内容WordPress的菜单都是通过后台菜单来添加设置,很多时候需要添加一些功能到菜单,比如搜索,或者购物车,这时我们就可以使用wp_nav_menu_items函数向菜单列表中添加一些内容来实现。

最近在更新Taji主题,设计之初没有把搜索添加进去,一直是使用ubermenu超级菜单来实现搜索功能,现在更新后准备出售,所以在默认的导航菜单中再把搜索功能添加进去,通过以下代码可以在导航菜单列表末尾添加一个搜索图标,鼠标经过或点击再显示搜索表单。

添加以下代码到主题的functions.php中

  1. function add_search_to_wp_menu ( $items$args ) {
  2.     if( 'header-menu' === $args -> theme_location ) {
  3.         $items .= '<li class="menu-item menu-item-search">';
  4.         $items .= '<a class="search_trigger" href="#"><i class="icon-search-1"></i></a>
  5.         <section class="salong_search searchHidden"><form method="get" class="menu-search-form" action="' . get_bloginfo('home') . '/"><input class="text_input" type="text" placeholder="'.__("输入关键字…",'salong').'" name="s" id="s" /><input type="submit" class="search_btn" id="searchsubmit" value="'.__("搜索",'salong').'" /></form></section>';
  6.         $items .= '</li>';
  7.     }
  8.     return $items;
  9. }
  10. add_filter('wp_nav_menu_items','add_search_to_wp_menu',10,2);

header-menu为导航菜单的名称,比如注册菜单的代码为:

  1. register_nav_menu( 'header-menu', __( '导航菜单', 'salong' ) );

所以不要添加“导航菜单”

$items中可添加任意的代码,所以通过文章中第一段代码可以向菜单列表中添加任意可行的功能。
演示地址