Tutorial WordPress affidabili, quando ne hai più bisogno.
Guida per principianti a WordPress
WPB Cup
25 Milioni+
Siti web che utilizzano i nostri plugin
16+
Anni di esperienza con WordPress
3000+
Tutorial WordPress di esperti

Come aggiungere elementi personalizzati a menu specifici di WordPress

Vuoi aggiungere elementi personalizzati a menu specifici di WordPress?

I menu di WordPress sono menu di navigazione visualizzati nella parte superiore della maggior parte dei siti web. A volte potresti voler visualizzare elementi personalizzati diversi dai semplici link nei menu di navigazione.

In questo articolo, ti mostreremo come aggiungere facilmente elementi personalizzati a menu specifici di WordPress.

Aggiungere elementi personalizzati ai menu di WordPress

Perché aggiungere elementi personalizzati ai menu di WordPress

I menu di WordPress sono link di navigazione solitamente visualizzati nella parte superiore di un sito web. Sui dispositivi mobili, vengono spesso visualizzati quando si tocca un'icona del menu.

menu di navigazione di esempio

Poiché questa è una posizione prominente nel layout tipico di un sito web WordPress, è intelligente sfruttarla inserendo elementi personalizzati diversi dai semplici link nel menu.

Ad esempio, alcuni utenti potrebbero voler visualizzare il modulo di ricerca come facciamo su WPBeginner. Un sito di appartenenza potrebbe voler mostrare link di accesso e disconnessione, oppure potresti voler aggiungere icone o immagini al tuo menu.

Per impostazione predefinita, i menu di navigazione sono progettati per visualizzare link di testo semplici. Tuttavia, puoi comunque inserire elementi personalizzati nei menu di WordPress.

Detto questo, diamo un'occhiata a come puoi aggiungere elementi personalizzati a menu specifici in WordPress mantenendo intatto il resto del tuo menu di navigazione.

Aggiungere elementi personalizzati a menu di navigazione specifici in WordPress

Ci sono diversi modi per aggiungere elementi personalizzati a un menu di navigazione in WordPress. Dipende dal tipo di elemento personalizzato che stai cercando di aggiungere.

Ti mostreremo alcuni degli esempi più comuni. Dovrai usare dei plugin per alcuni di essi, mentre altri richiederanno l'aggiunta di codice.

Se vuoi saltare a una sezione specifica, puoi usare questo indice:

Iniziamo.

1. Aggiungere un popup di ricerca nel menu di WordPress

Normalmente, puoi aggiungere un modulo di ricerca alla barra laterale di WordPress utilizzando il widget o il blocco di ricerca predefinito. Tuttavia, non c'è modo di aggiungere la ricerca al menu di navigazione per impostazione predefinita.

Alcuni temi WordPress hanno un'opzione per aggiungere una casella di ricerca alla tua area del menu principale. Ma se il tuo non ce l'ha, puoi usare il metodo seguente.

Per questo, devi installare e attivare il plugin SearchWP Modal Search Form. Per maggiori dettagli, consulta la nostra guida passo passo su come installare un plugin WordPress.

Questo plugin è un componente aggiuntivo per SearchWP, che è il miglior plugin di ricerca WordPress sul mercato.

L'addon è gratuito e funzionerà anche con la ricerca predefinita di WordPress. Tuttavia, ti consigliamo di utilizzarlo con SearchWP se desideri migliorare la tua ricerca su WordPress.

Dopo aver installato l'addon, vai semplicemente alla pagina Aspetto » Menu. Nella colonna 'Aggiungi elementi al menu', fai clic sulla scheda 'Moduli di ricerca modali SearchWP' per espanderla.

Aggiungi ricerca al menu

Seleziona il tuo motore di ricerca e quindi fai clic sul pulsante Aggiungi al menu.

Il plugin aggiungerà la ricerca al tuo menu di navigazione. Fai clic su 'Modulo di ricerca modale' sotto le voci del tuo menu per espanderlo e cambiare l'etichetta in Cerca o qualsiasi altra cosa desideri.

Cambia etichetta di ricerca

Non dimenticare di fare clic sul pulsante Salva menu per memorizzare le modifiche.

Ora puoi visitare il tuo sito web per vedere la Ricerca aggiunta al tuo menu di navigazione. Facendo clic su di essa si aprirà il modulo di ricerca in una finestra popup.

Cerca nel menu di navigazione

Per maggiori dettagli, consulta la nostra guida su come aggiungere un pulsante di ricerca a un menu di WordPress.

2. Aggiungere icone e immagini personalizzate a menu specifici

Un altro elemento personalizzato popolare che gli utenti desiderano spesso aggiungere a un menu specifico è un'immagine o un'icona.

Per questo, dovrai installare e attivare il plugin Menu Image Icon. Per maggiori dettagli, consulta la nostra guida passo passo su come installare un plugin di WordPress.

Dopo l'attivazione, vai alla pagina Aspetto » Menu e sposta il mouse sull'elemento del menu in cui desideri visualizzare un'icona o un'immagine.

Pulsante immagine menu

Fai clic sul pulsante blu Menu Image per continuare.

Si aprirà una finestra popup. Da qui, puoi scegliere un'immagine o un'icona da visualizzare con quell'elemento del menu.

Scegli immagine o icona

Puoi anche scegliere la posizione dell'immagine o dell'icona rispetto all'elemento del menu. Ad esempio, puoi visualizzare l'icona subito prima dell'elemento del menu come nel nostro esempio qui sotto, o persino nascondere il titolo del menu in modo che venga visualizzata solo l'icona.

Non dimenticare di fare clic sul pulsante Salva modifiche per memorizzare le impostazioni. Ripeti il processo se hai bisogno di aggiungere icone o immagini ad altri elementi del menu.

Dopodiché, puoi visitare il tuo sito web per vedere l'immagine o l'icona personalizzata in elementi di menu specifici.

Icone menu

Per istruzioni più dettagliate, consulta il nostro tutorial su come aggiungere immagini nei menu di WordPress.

3. Aggiungere link di accesso/disconnessione a menu specifici di WordPress

Se stai utilizzando un plugin di appartenenza per WordPress o gestisci un negozio online, potresti voler consentire agli utenti di accedere facilmente ai propri account.

Per impostazione predefinita, WordPress non offre un modo semplice per visualizzare link di accesso e disconnessione nei menu di navigazione.

Ti mostreremo come aggiungerli utilizzando un plugin o uno snippet di codice.

1. Aggiungere link di accesso/disconnessione ai menu utilizzando un plugin

Questo metodo è più semplice ed è consigliato a tutti gli utenti.

Innanzitutto, devi installare e attivare il plugin Login or Logout Menu Item. Dopodiché, devi visitare la pagina Aspetto » Menu e fare clic sulla scheda Login/Logout per espanderla.

Aggiungi link di accesso o disconnessione a un menu WordPress specifico

Da qui, devi selezionare l'elemento 'Accedi|Esci' e fare clic sul pulsante Aggiungi al menu.

Non dimenticare di fare clic sul pulsante Salva menu per salvare le modifiche. Ora puoi visitare il tuo sito web per vedere il tuo link personalizzato di accesso/disconnessione in azione.

Anteprima link di accesso e disconnessione

Il link cambierà dinamicamente in accesso o disconnessione a seconda dello stato di accesso dell'utente.

Scopri di più nel nostro tutorial su come aggiungere link di accesso e disconnessione nei menu di WordPress.

2. Aggiungere link di accesso/disconnessione utilizzando codice personalizzato

Questo metodo richiede l'aggiunta di codice al tuo sito WordPress. Se non l'hai mai fatto prima, dai un'occhiata alla nostra guida su come aggiungere codice personalizzato in WordPress.

Innanzitutto, devi scoprire il nome che il tuo tema WordPress utilizza per la specifica posizione del menu di navigazione.

Il modo più semplice per scoprirlo è visitare la pagina Aspetto » Menu e spostare il mouse sull'area delle posizioni del menu.

Trova il nome della posizione del menu

Fai clic destro per selezionare lo strumento Ispeziona e quindi vedrai il nome della posizione nel codice sorgente sottostante. Ad esempio, il nostro tema demo utilizza primary, footer e top-bar-menu.

Annota il nome utilizzato per la posizione di destinazione in cui desideri visualizzare il link di accesso / disconnessione.

Successivamente, devi aggiungere il seguente codice al file functions.php del tuo tema o a un plugin specifico per il sito.

add_filter( 'wp_nav_menu_items', 'add_loginout_link', 10, 2 );
function add_loginout_link( $items, $args ) {
    if (is_user_logged_in() && $args->theme_location == 'primary') {
        $items .= '<li><a href="'. wp_logout_url() .'">Log Out</a></li>';
    }
    elseif (!is_user_logged_in() && $args->theme_location == 'primary') {
        $items .= '<li><a href="'. site_url('wp-login.php') .'">Log In</a></li>';
    }
    return $items;
}

Dopo di che, puoi visitare il tuo sito web e vedrai il link di accesso o disconnessione nel tuo menu di navigazione.

Link di accesso aggiunto tramite codice personalizzato

Questo link dinamico passerà automaticamente da accesso a disconnessione in base allo stato di accesso dell'utente.

4. Aggiungere testo personalizzato al menu di navigazione di WordPress

E se volessi solo aggiungere testo e non un link al tuo menu di navigazione?

Ci sono due modi per farlo.

1. Aggiungere testo personalizzato a un menu specifico (modo semplice)

Vai semplicemente alla pagina Aspetto » Menu e aggiungi un link personalizzato con il segno # come URL e il testo che desideri visualizzare come Testo del link.

Aggiungi testo personalizzato con link fittizio

Fai clic sul pulsante Aggiungi al menu per continuare.

WordPress aggiungerà il tuo testo personalizzato come elemento del menu nella colonna di sinistra. Ora, fai clic per espanderlo ed elimina il segno #.

Rimuovi link

Non dimenticare di fare clic sul pulsante Salva menu e di visualizzare in anteprima il tuo sito web. Noterai che il tuo testo personalizzato apparirà nel menu di navigazione.

È ancora un link, ma fare clic su di esso non fa nulla per l'utente.

testo personalizzato nel menu di navigazione

2. Aggiungere testo personalizzato a un menu di navigazione tramite codice

Per questo metodo, aggiungerai uno snippet di codice al tuo sito web. Innanzitutto, dovrai scoprire il nome della posizione del tuo tema come descritto sopra nella sezione link di accesso/disconnessione.

Dopodiché, devi aggiungere il seguente codice al file functions.php del tema o a un plugin specifico per il sito.

add_filter( 'wp_nav_menu_items', 'your_custom_menu_item', 10, 2 );
function your_custom_menu_item ( $items, $args ) {
    if ( $args->theme_location == 'primary') {
        $items .= '<li><a title="">Custom Text</a></li>';
    }
    return $items;
}

Sostituisci semplicemente dove dice 'Testo personalizzato' con il tuo testo.

Ora puoi salvare le modifiche e visitare il tuo sito web per vedere il tuo testo personalizzato aggiunto alla fine del tuo menu di navigazione.

Questo metodo tramite codice può essere utile se desideri aggiungere programmaticamente elementi dinamici a menu specifici di WordPress.

5. Aggiungere la data corrente nel menu di WordPress

Vuoi visualizzare la data corrente all'interno di un menu di navigazione in WordPress? Questo trucco è utile se gestisci un blog aggiornato frequentemente o un sito di notizie.

Aggiungi semplicemente il seguente codice al file functions.php del tuo tema o a un plugin specifico per il sito.

add_filter('wp_nav_menu_items','add_todaysdate_in_menu', 10, 2);
function add_todaysdate_in_menu( $items, $args ) {
    if( $args->theme_location == 'primary')  {
         
        $todaysdate = date('l jS F Y');
        $items .=  '<li><a>' . $todaysdate .  '</a></li>';
 
    }
    return $items;
}

Non dimenticare di sostituire 'primary' con la posizione del tuo menu.

Ora puoi visitare il tuo sito web per vedere la data corrente nel tuo menu di WordPress.

Data corrente nel menu di WordPress

Puoi anche cambiare il formato della data a tuo piacimento. Consulta il nostro tutorial su come cambiare il formato di data e ora in WordPress.

6. Visualizza il nome utente nel menu di WordPress

Vuoi aggiungere un po' più di personalizzazione al tuo menu di navigazione? Puoi salutare gli utenti connessi con il loro nome nel tuo menu di navigazione.

Innanzitutto, dovrai aggiungere il seguente codice al file functions.php del tuo tema o a un plugin specifico per il sito.

add_filter( 'wp_nav_menu_objects', 'username_in_menu_items' );
function username_in_menu_items( $menu_items ) {
    foreach ( $menu_items as $menu_item ) {
        if ( strpos($menu_item->title, '#profile_name#') !== false) {
			 if ( is_user_logged_in() )     {
				$current_user = wp_get_current_user();
				 $user_public_name = $current_user->display_name;
                $menu_item->title =  str_replace("#profile_name#",  " Hey, ". $user_public_name, $menu_item->title . "!");
			 } else { 
			 $menu_item->title =  str_replace("#profile_name#",  " Welcome!", $menu_item->title . "!");
			 }
        }
    }

    return $menu_items;
} 

Questo codice controlla prima se hai aggiunto una voce di menu con #profile_name# come testo del link. Successivamente, sostituisce quella voce di menu con il nome dell'utente connesso o un saluto generico per gli utenti non connessi.

Successivamente, devi andare alla pagina Aspetto » Menu e aggiungere un nuovo link personalizzato con #profile_name# come testo del link.

Aggiungi tag speciale a una voce di menu

Non dimenticare di fare clic sul pulsante Salva menu per memorizzare le modifiche. Successivamente, puoi visitare il tuo sito web per vedere il nome dell'utente connesso nel menu di WordPress.

Nome utente nel menu di navigazione di WordPress

7. Visualizza dinamicamente menu condizionali in WordPress

Finora ti abbiamo mostrato come aggiungere diversi tipi di elementi personalizzati a menu specifici di WordPress. Tuttavia, a volte potresti dover mostrare dinamicamente elementi di menu diversi agli utenti.

Ad esempio, potresti voler mostrare un menu solo agli utenti che hanno effettuato l'accesso. Un altro scenario è quando vuoi che il menu cambi in base alla pagina che l'utente sta visualizzando.

Questo metodo ti consente di creare diversi menu e visualizzarli solo quando determinate condizioni sono soddisfatte.

Innanzitutto, devi installare e attivare il plugin Conditional Menus. Per maggiori dettagli, consulta la nostra guida passo passo su come installare un plugin di WordPress.

Dopo l'attivazione, devi visitare la pagina Aspetto » Menu. Da qui devi creare un nuovo menu che desideri visualizzare. Ad esempio, in questo esempio abbiamo creato un nuovo menu solo per gli utenti che hanno effettuato l'accesso.

Crea nuovo menu

Dopo aver creato il menu, passa alla scheda Gestisci posizioni.

Da qui, devi fare clic sul link Menu condizionali accanto alla posizione del menu.

Aggiungi un menu condizionale

Successivamente, devi selezionare il menu che hai creato in precedenza dal menu a discesa.

Quindi, fai clic sul pulsante '+ Condizioni' per continuare.

Seleziona il menu che vuoi mostrare

Questo aprirà una finestra popup.

Da qui, puoi selezionare le condizioni che devono essere soddisfatte per visualizzare questo menu.

Scegli le condizioni

Il plugin offre una serie di condizioni tra cui scegliere. Ad esempio, puoi mostrare il menu in base a pagine specifiche, categorie, tipi di post, tassonomie e altro ancora.

Puoi anche mostrare menu diversi in base ai ruoli utente e allo stato di accesso. Ad esempio, puoi mostrare un menu diverso ai membri esistenti su un sito di appartenenza.

Speriamo che questo articolo ti abbia aiutato a imparare come aggiungere elementi personalizzati a menu specifici di WordPress. Potresti anche voler consultare la nostra guida su come scegliere il miglior software di web design, o il nostro confronto esperto del miglior software di live chat per piccole imprese.

Se ti è piaciuto questo articolo, iscriviti al nostro canale YouTube per tutorial video su WordPress. Puoi anche trovarci su Twitter e Facebook.

Dichiarazione: Il nostro contenuto è supportato dai lettori. Ciò significa che se fai clic su alcuni dei nostri link, potremmo guadagnare una commissione. Vedi come è finanziato WPBeginner, perché è importante e come puoi supportarci. Ecco il nostro processo editoriale.

Il Toolkit WordPress Definitivo

Ottieni l'accesso GRATUITO al nostro toolkit - una raccolta di prodotti e risorse relative a WordPress che ogni professionista dovrebbe avere!

Interazioni del lettore

65 CommentsLeave a Reply

  1. Mi piace l'implementazione della ricerca, dove invece del classico campo vuoto, c'è una finestra popup. Sembra una bella soluzione. Mi interessavano anche la data e la personalizzazione dell'utente loggato. Grazie per l'ispirazione.

  2. Ciao,
    mille grazie per quel codice. C'è un modo per riordinare il MENU? Ad esempio, vorrei avere il pulsante Accedi Esci per primo nel MENU. Solo per esempio.
    Saluti,
    Denis

    • Per il momento con questo codice, non abbiamo un metodo semplice per riordinare dove vengono posizionate le aggiunte rispetto alle voci di menu al momento.

      Amministratore

    • Sono sicuro che è troppo tardi per Denis! Ma nel caso in cui qualcun altro voglia che la sua voce di menu appaia PER PRIMA nell'elenco delle voci di menu, anziché PER ULTIMA, ecco un esempio di codice che ho usato a questo scopo:

      add_filter( ‘wp_nav_menu_items’, ‘your_custom_menu_item’, 10, 2 );
      function your_custom_menu_item ( $items, $args ) {
      if (is_single() && $args->theme_location == ‘primary’) {
      $oldItems = $items;
      $items = ‘Show whatever’;
      $items .= $oldItems;
      }
      return $items;
      }

  3. C'è un modo per impostare una voce nella barra del menu in modo che appaia a una certa ora e un'altra voce che scada?

    • A meno che non senta diversamente, non abbiamo un tempo consigliato per la visualizzazione condizionale che raccomanderemmo.

      Amministratore

  4. Ciao,

    Come posso aggiungere un modulo di ricerca all'inizio dell'elenco delle voci di menu?

    Grazie,

    Saurabh

    PS: big fan of your tuts :)

  5. Questo è fantastico. Ma sarebbe possibile aggiungere un menu nel menu?
    Vorrei aggiungere un menu delle lingue al mio menu principale.
    Ottengo il menu delle lingue sulla pagina ma non nel posto desiderato.

    invece di

  6. Questo codice funziona ancora? Non vedo nulla nel mio menu, anche usando solo la funzione base con testo. Non sto usando alcun tipo speciale di menu, solo 'X' & child theme.

    • lascia perdere, scusa ho appena letto questo: "Ovviamente, devi avere il menu personalizzato abilitato nei tuoi temi prima di poter procedere ulteriormente."

      • OK, quindi stavo ancora avendo il problema anche se il mio menu era personalizzato, e ho armeggiato finché non ho rimosso la condizione. (IF), una volta fatto questo, è stato visualizzato su tutte le pagine, inclusa la homepage.

        `add_filter( ‘wp_nav_menu_items’, ‘your_custom_menu_item’, 10, 2 );
        function your_custom_menu_item ( $items, $args ) {
        $items .= ‘Mostra qualsiasi cosa’;
        return $items;
        }

    • 10 specifica l'ordine in cui vengono eseguite le funzioni associate a una particolare azione. Numeri più bassi corrispondono a un'esecuzione precedente, e le funzioni con la stessa priorità vengono eseguite nell'ordine in cui sono state aggiunte all'azione.

      2 è per il numero di argomenti che la funzione accetta.

      Amministratore

  7. Questo è un tutorial fantastico e diretto al punto. Voglio un elemento con la data di oggi ("headlines | DATE") in uno dei miei menu.

    I didn’t expect the first posting I found to solve my problem :) thx guys.

  8. funziona ma (lol) per la mia situazione voglio aggiungere "Cerca" all'intestazione principale come se fosse solo un altro elemento che è stato selezionato in

    appearance/menus/add-to-menu

    Tutto quello che ho visto crea un intero nuovo... cos'è un div... (?)

    che aggiunge un'intera nuova riga all'intestazione invece di posizionare il modulo nella stessa riga di ABOUT, ecc. elementi nella finestra di modifica della navigazione principale.

    E prendi il css assegnato alla barra di navigazione.

  9. Mi è piaciuto molto il post, così utile. Tuttavia, diciamo che voglio aggiungere un link di accesso e disconnessione nel footer con una condizione if

  10. Domanda correlata: come aggiungere una voce di menu in base a un ruolo utente specifico?
    Supponiamo che io abbia un ruolo utente personalizzato chiamato "Studente" e vorrei aggiungere una voce al menu solo quando l'utente ha il ruolo di "Studente"?

    • Vorrei sapere la stessa cosa. Qualcuno ha una risposta su come aggiungerlo a un certo sottomenu?

  11. Grazie per la guida!

    Ad essere sincero non capisco come chiami la funzione.

    In particolare mi manca una menzione con quali argomenti chiami le funzioni, cioè quali variabili wp passare come $items e $args.

    Potresti spiegare per un principiante di wp?

    Grazie,

    Gerrit

  12. hm qualche idea su come potrei aggiungere tag html solo a una voce di menu di wordpress.

    da questo:

    Contatti

    a questo:

    Contatti

    dovrebbe essere solo per una voce di menu. non per tutte

  13. Ciao,
    Come posso aggiungere le seguenti classi active e current-menu-item e l'id menu-item-id ?

  14. Nei tuoi esempi, aggiungi elementi al menu principale (theme_location == ‘primary’).

    Come posso aggiungere un elemento in un menu specifico nell'area widget? Dove trovo il theme_location?

  15. Ciao! Ho usato il tuo tutorial per mettere un'immagine come logo che si sovrappone alla barra del menu. Tutto va bene, ma questo menu specifico ha un'opzione di hover che rende il colore bianco... Quindi, quando passo il mouse sul logo, si attiva anche il link, il che rovina un po' l'aspetto della pagina.

    Questo è il mio codice:

    if( $args->theme_location == ‘primary’ )
    return ““.$items;

    Come posso nascondere l'href nella pagina e visualizzare solo l'immagine con il link?

    Grazie in anticipo

  16. Ciao, penso che il tuo codice sia vicino a quello che sto cercando, ma sto cercando di capire come posso personalizzarlo per fare quello che voglio fare!

    Quello che sto cercando di fare è creare una voce di menu con un elenco a discesa di autori? hai qualche idea su come posso realizzarlo?

    Grazie mille!

  17. Grazie, è stato molto utile,

    Tuttavia, per curiosità, non riesco a trovare questo prezioso hook di filtro: "'wp_nav_menu_items", intendo dove nei file core di WP viene chiamato??

    Grazie mille!!

  18. Come posso posizionarlo davanti al primo elemento del menu? Altrimenti ottimo tutorial!

    Cordiali saluti,
    Andor Nagy

    • add_filter( ‘wp_nav_menu_items’, ‘your_custom_menu_item’, 10, 2 );

      function your_custom_menu_item ( $items, $args ) {

      $custom = ‘Mostra qualsiasi cosa’;

      $items = $custom.$items;

      return $items;

      }

      • Ho aggiunto quanto segue al functions.php del mio tema, ma la casella di ricerca non viene visualizzata come mi aspetterei. Suggerimenti?

        add_filter(‘wp_nav_menu_items’,’add_search_box_to_menu’, 10, 2);
        function add_search_box_to_menu( $items, $args ) {
        if( $args->theme_location == ‘header_extras_inner’ )
        return $items.””;

        return $items;
        }

  19. Mi dispiace di unirmi a questa discussione così tardi

    Ho provato la parte del modulo di ricerca e funziona benissimo, grazie! Ho però problemi a stilizzarlo, per qualche motivo. Non importa cosa faccio, il testo segnaposto nel campo è grigio. Ho esaminato la cascata degli stili e ho provato tante cose: posso cambiare il colore di sfondo, ad esempio, ma non riesco a rendere il testo nero, quindi la continuità del design del menu è in qualche modo compromessa. Il mio sito è http://elliottwall.com se ti va di dare un'occhiata. Saluti

  20. Ciao,

    molto interessante!
    Ho aggiunto un link personalizzato, ma è possibile aggiungerlo in una posizione specifica all'interno del menu? Tipo "dopo il primo elemento del menu".

    Grazie

Lascia una risposta

Grazie per aver scelto di lasciare un commento. Tieni presente che tutti i commenti sono moderati secondo la nostra politica sui commenti, e il tuo indirizzo email NON verrà pubblicato. Si prega di NON utilizzare parole chiave nel campo del nome. Avviamo una conversazione personale e significativa.