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