web-dev-qa-db-fra.com

get_search_form () ne semble pas prendre en compte les paramètres

Je crée un menu manuellement et j'essaie d'inclure le formulaire de recherche.

ceci est tiré de Wordpress Docs "Construction d'une simple liste de menus" à l'adresse http://codex.wordpress.org/Function_Reference/wp_get_nav_menu_items .

J'ai ajouté un élément <li> supplémentaire avant de compléter le menu et ajouté le formulaire de recherche.

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

Le problème est dans la sortie.

<div class = "mainnav" role = "navigation">

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

Quelqu'un pourrait-il me dire pourquoi la recherche est en cours d'impression avant le menu même si je spécifie echo = false?

1
php-b-grader

cela pourrait être la cause:

Le paramètre $ echo est ignoré lorsque searchform.php est présent. Il existe un problème dans WordPress Trac à ce sujet.

depuis le codex: http://codex.wordpress.org/Function_Reference/get_search_form#Notes

2
Michael