Get_Search_Form()似乎没有考虑参数

时间:2012-02-26 作者:php-b-grader

我正在手动创建菜单,并尝试包含搜索表单。

这摘自Wordpress文档“构建简单菜单列表”,网址为http://codex.wordpress.org/Function_Reference/wp_get_nav_menu_items.

我添加了一个额外的<;li>;元素,并添加了搜索表单。

            // Get the nav menu based on $menu_name (same as \'theme_location\' or \'menu\' arg to wp_nav_menu)
            // This code based on wp_nav_menu\'s code to get Menu ID from menu slug

            $menu_name = \'main-menu\';

            if ( ( $locations = get_nav_menu_locations() ) && isset( $locations[ $menu_name ] ) ) {

                $menu = wp_get_nav_menu_object( $locations[ $menu_name ] );

                $menu_items = wp_get_nav_menu_items($menu->term_id);

                $menu_list = \'<ul id="menu-\' . $menu_name . \'">\';

                foreach ( (array) $menu_items as $key => $menu_item ) {
                    $title = $menu_item->title;
                    $url = $menu_item->url;
                    $menu_list .= \'<li><a href="\' . $url . \'">\' . $title . \'</a></li>\';
                }
                $menu_list .= \'<li>\' . get_search_form(false) . \'</li>\';
                $menu_list .= \'</ul>\';
            } else {
                $menu_list = \'<ul><li>No Menu</li></ul>\';
            }
            echo $menu_list;
问题出在输出中。

<;div class=“mainnav”role=“导航”>;

<form role="search" method="get" id="searchform" action="/">
  <input type="text" value="" name="s" id="s" size="40" placeholder="Search" alt="Site Search">
  <input type="submit" id="searchsubmit" value="Search">
</form>
<ul id="menu-main-menu">
  <li><a href="#">Home</a></li>
  <li><a href="#">Sample Page</a></li>
  <li></li>
</ul>
</div>;

有人能告诉我为什么即使我指定echo=false,搜索仍在菜单之前打印?

1 个回复
最合适的回答,由SO网友:Michael 整理而成

这可能是原因:

searchform时忽略$echo参数。php存在。WordPress Trac中有一个与此相关的问题。

抄本:http://codex.wordpress.org/Function_Reference/get_search_form#Notes

结束

相关推荐

Remove menus and submenus

所以我找到了一些方便的代码片段来帮助删除管理菜单项。但是,我对子菜单项有问题。我想保留外观菜单,但去掉主题、小部件和编辑器。function remove_menus() { global $menu; global $current_user; get_currentuserinfo(); if($current_user->user_login == \'username\') { $restricted = array(__(\'