web-dev-qa-db-fra.com

Comment ajouter un champ de recherche au menu de navigation?

Je voudrais ajouter une boîte de recherche au menu de navigation en ajoutant le code suivant dans functions.php (à la fin du fichier, mais avant ?>).

add_filter( 'wp_nav_menu_items','add_search_box', 10, 2 );
function add_search_box( $items, $args ) {
    $items .= '<li>' . get_search_form( false ) . '</li>';
    return $items;
}

Cependant, le champ de recherche n'apparaît pas.


EDIT: En fait, le code ci-dessus ne pose aucun problème. Lorsque vous cliquez sur l’icône de recherche (PS: le thème que j’utilise est Rayonner ), deux zones de recherche apparaissent.

Ce que j'attend est de placer le champ de recherche dans le menu de navigation , au lieu d'un clic est nécessaire pour afficher le champ de recherche:

 enter image description here 

PS: voici le searchform.php:

<form role="search" method="get" class="search-form" action="<?php echo esc_url( home_url( '/' ) ); ?>">
    <label>
        <span class="screen-reader-text"><?php _ex( 'Search for:', 'label', 'radiate' ); ?></span>
        <input type="search" class="search-field" placeholder="<?php echo esc_attr_x( 'Search &hellip;', 'placeholder', 'radiate' ); ?>" value="<?php echo esc_attr( get_search_query() ); ?>" name="s">
    </label>
    <input type="submit" class="search-submit" value="<?php echo esc_attr_x( 'Search', 'submit button', 'radiate' ); ?>">
</form>
4
SparkAndShine

Votre code fonctionne parfaitement pour moi tel quel. La seule chose à laquelle je peux penser, c'est que vous avez un searchform.php défini dans votre thème mais qu'il est vide? (Si searchform.php n'existe pas dans votre thème, WP utilisera un formulaire par défaut.)

3
Benjamin Love