Come aggiungere una casella di ricerca al menu di navigazione?

16 ott 2015, 00:52:17
Visualizzazioni: 15.6K
Voti: 6

Vorrei aggiungere una casella di ricerca al menu di navigazione inserendo il seguente codice in functions.php (alla fine del file, ma prima di ?>).

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

Tuttavia, la casella di ricerca non compare.


MODIFICA: In realtà, non c'è alcun problema con il codice sopra. Quando clicco sull'icona di ricerca (PS: il tema che uso è Radiate), compaiono due caselle di ricerca.

Quello che voglio è posizionare la casella di ricerca all'interno del menu di navigazione, invece di dover cliccare per mostrare la casella di ricerca:

Menu di navigazione con casella di ricerca integrata

PS: ecco il 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( 'Cerca per:', 'label', 'radiate' ); ?></span>
        <input type="search" class="search-field" placeholder="<?php echo esc_attr_x( 'Cerca &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( 'Cerca', 'submit button', 'radiate' ); ?>">
</form>
2
Commenti

Puoi utilizzare questo plugin https://wordpress.org/plugins/add-search-to-menu per ottenere questo risultato.

Vinod Dalvi Vinod Dalvi
11 apr 2017 10:40:44

@VinodDalvi, grazie. sembra interessante.

SparkAndShine SparkAndShine
11 apr 2017 10:54:16
Tutte le risposte alla domanda 1
5

Il tuo codice funziona perfettamente così com'è per me. L'unica cosa che mi viene in mente è che potresti avere un file searchform.php definito nel tuo tema ma vuoto? (Se searchform.php non esiste nel tuo tema, WordPress utilizzerà un modulo predefinito).

16 ott 2015 01:36:14
Commenti

Grazie. Sì, nessun problema con il codice sopra. Ho aggiornato la mia domanda, per favore controllala.

SparkAndShine SparkAndShine
16 ott 2015 03:01:04

Okay sembra un problema di comportamento del tema - hai provato a cercare in searchform.php gli elementi html e le regole css del tema che si applicano al form? Probabilmente dovrai modificarli direttamente.

Benjamin Love Benjamin Love
16 ott 2015 03:08:05

Grazie ancora. Ho incollato il codice di searchform.php nella domanda.

SparkAndShine SparkAndShine
16 ott 2015 14:25:00

Sembra che tu stia cercando qualcuno che faccia il lavoro al posto tuo. Il campo di ricerca viene renderizzato, quindi la tua domanda originale è risolta. Ora stai solo affrontando problemi di comportamento css/javascript che hanno molto poco a che fare con WordPress. Se non hai idea di da dove iniziare, dovresti assumere uno sviluppatore che ti aiuti.

Benjamin Love Benjamin Love
17 ott 2015 17:50:42

grazie per il tuo gentile promemoria.

SparkAndShine SparkAndShine
17 ott 2015 18:48:51