Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Coppa WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Come aggiungere una logica condizionale ai menu di WordPress

Nota editoriale: guadagniamo una commissione dai link dei partner su WPBeginner. Le commissioni non influenzano le opinioni o le valutazioni dei nostri redattori. Per saperne di più su Processo editoriale.

Volete mostrare voci di menu di navigazione diverse per pagine diverse in WordPress? O visualizzare un menu diverso per gli utenti che hanno effettuato l’accesso?

WordPress consente di mostrare un menu di navigazione in una posizione specifica del tema, ma per impostazione predefinita mostra sempre lo stesso menu.

In questo articolo vi mostreremo come aggiungere la logica condizionale ai menu di WordPress.

How to Add Conditional Logic to Menus in WordPress

Perché aggiungere la logica condizionale ai menu di WordPress?

I menu di navigazione danno struttura al vostro sito WordPress e aiutano i visitatori a trovare ciò che stanno cercando. Per impostazione predefinita, il vostro sito WordPress mostra lo stesso menu di navigazione a tutti gli utenti e su tutti i post e le pagine.

Tuttavia, può capitare che si desideri visualizzare menu diversi a utenti diversi o su pagine diverse del sito web.

Siti web come un negozio online, una community di siti associativi in WordPress o una piattaforma di apprendimento online possono tutti beneficiare di menu di navigazione personalizzati.

Utilizzando la logica condizionale, potete aggiungere voci di menu supplementari per gli utenti che hanno effettuato l’accesso, in modo che possano gestire i loro account, rinnovare gli abbonamenti o visualizzare i corsi online che hanno acquistato. Si può pensare a questo come a un controllo degli accessi al menu di WordPress.

Detto questo, vediamo come aggiungere la logica condizionale ai menu di WordPress. Ecco gli argomenti che tratteremo in questo tutorial:

Creare nuovi menu di navigazione in WordPress

Il primo passo consiste nel creare i menu di navigazione aggiuntivi che si desidera visualizzare in WordPress. Dopodiché, si può usare la logica condizionale per decidere quando ogni menu sarà visualizzato.

Basta andare alla pagina Aspetto ” Menu nella dashboard di WordPress. Se avete già un menu di navigazione che utilizzate sul vostro sito web per tutti gli utenti, questo può essere il vostro menu predefinito.

Main menu

Successivamente, è necessario fare clic sul link “Crea un nuovo menu” per creare un nuovo menu. Ad esempio, si può creare un menu da mostrare agli utenti connessi e un altro da visualizzare su una determinata pagina o categoria di WordPress.

Sul lato sinistro dello schermo è presente un elenco delle pagine del sito web. È sufficiente selezionare la casella accanto alla pagina che si desidera aggiungere al menu e fare clic sul pulsante “Aggiungi al menu”.

Logged in menu

È anche possibile trascinare e rilasciare le voci di menu sul lato destro dello schermo per riorganizzarle.

Più avanti nella pagina, è possibile scegliere una posizione per visualizzare il menu. Ma non è necessario assegnare una posizione a questo menu. Lo faremo nella fase successiva.

Non dimenticate di fare clic sul pulsante “Salva menu” per memorizzare le modifiche.

Per maggiori dettagli sulla creazione di menu, potete dare un’occhiata alla nostra guida per principianti su come aggiungere un menu di navigazione in WordPress.

Mostrare un menu diverso agli utenti registrati in WordPress

Spesso è utile mostrare agli utenti menu di navigazione diversi a seconda che abbiano effettuato o meno l’accesso al sito.

Ad esempio, è possibile includere i link di login e registrazione per gli utenti disconnessi e aggiungere un link di logout al menu per gli utenti connessi.

Oppure, se gestite un negozio WooCommerce, potete includere articoli per i vostri clienti che sono nascosti al pubblico.

Per prima cosa, è necessario installare e attivare il plugin Conditional Menus. Per maggiori dettagli, consultate la nostra guida passo passo su come installare un plugin di WordPress.

Dopo l’attivazione, è necessario visitare la pagina Aspetto ” Menu e passare alla scheda “Gestisci posizioni”.

Manage menu locations

Da qui si vedrà l’elenco delle posizioni di menu disponibili e i menu attualmente visualizzati. Questi variano a seconda del tema WordPress utilizzato.

Ad esempio, sul nostro sito web dimostrativo, la posizione del menu primario mostra un menu di navigazione intitolato “Menu principale”.

Possiamo dire al plugin di mostrare un menu diverso quando si verifica una determinata condizione, facendo clic sul link “+ Menu condizionale” e selezionando un altro menu dal menu a discesa. Per questa esercitazione, selezioneremo “Menu accesso”.

Select logged in menu

Successivamente, è necessario fare clic sul link “+ Condizioni”.

Si aprirà una finestra a comparsa con una serie di condizioni tra cui scegliere.

Select logged in user aa the condition

È sufficiente selezionare la casella accanto all’opzione “Utente connesso”, quindi fare clic sul pulsante “Salva”.

È ora possibile visitare il proprio sito web per vedere in azione il menu dell’utente connesso. È possibile uscire dal sito web per vedere il menu di navigazione mostrato a tutti gli altri utenti.

Different menu for logged in users

Per istruzioni più dettagliate e per imparare a farlo usando il codice, date un’occhiata alla nostra guida su come mostrare menu diversi agli utenti connessi in WordPress.

Mostrare un menu WordPress diverso a seconda del ruolo dell’utente

Una volta che l’utente ha effettuato l’accesso, è possibile visualizzare un menu di navigazione diverso a seconda del ruolo assegnato all’utente.

Ad esempio, si possono includere voci di menu extra per un amministratore e voci più limitate per un collaboratore. Oppure, in un sito associativo, si potrebbero concedere diversi livelli di accesso a diversi livelli di appartenenza.

Come nella sezione precedente, è necessario installare e attivare il plugin Menu condizionali, quindi visitare la pagina Aspetto ” Menu e passare alla scheda ‘Gestisci posizioni’.

Select the Conditional Menu

È necessario aggiungere il menu condizionale appropriato per il ruolo dell’utente selezionato. Per questa esercitazione, abbiamo selezionato il menu ‘Nav Menu Administrator’.

Successivamente, è necessario fare clic sul link “+ Condizioni” per scegliere il ruolo dell’utente.

Select the Roles That Should See the Menu

È necessario fare clic sulla scheda “Ruoli utente” per visualizzare le caselle di controllo per ciascun ruolo utente del sito web. È sufficiente fare clic sui ruoli utente che vedranno questo menu, quindi fare clic sul pulsante “Salva”.

Mostrare un menu diverso per pagine diverse in WordPress

In WordPress è possibile visualizzare un menu diverso per pagine diverse. Ad esempio, si possono visualizzare voci di menu aggiuntive nella pagina dell’informativa sulla privacy, come un link all’informativa sui cookie.

Per farlo, è necessario installare e attivare il plugin Conditional Menus, come mostrato sopra, quindi scegliere il menu di navigazione appropriato e fare clic sul link ‘+ Conditions’.

Questa volta si deve fare clic sulla scheda “Pagine”. Verrà visualizzato un elenco di tutte le pagine del sito web.

Select the Pages Where the Menu Should Be Displayed

È necessario apporre un segno di spunta accanto a ciascuna pagina in cui si desidera visualizzare il menu di navigazione, quindi fare clic sul pulsante “Salva”.

Nascondere il menu di navigazione sulle pagine di destinazione in WordPress

Ci possono essere pagine del vostro sito web in cui non volete visualizzare alcun menu di navigazione, come ad esempio le pagine di destinazione.

Una landing page è progettata per aumentare le vendite o generare lead per un’azienda. In queste pagine è necessario ridurre al minimo le distrazioni e fornire agli utenti tutte le informazioni necessarie per compiere un’azione specifica.

Nella nostra guida su come aumentare le conversioni delle landing page del 300%, suggeriamo di ridurre al minimo le distrazioni rimuovendo i menu di navigazione e altri link dalla pagina.

È possibile farlo utilizzando il plugin Menu condizionali. Quando si seleziona il menu condizionale, questa volta è necessario scegliere “Disabilita menu” dal menu a discesa.

Select Disable Menu From the Drop Down

Successivamente, è necessario fare clic sul link “+ Condizioni” per scegliere quando visualizzare il menu.

Cliccate sulla scheda “Pagine” e mettete i segni di spunta accanto alle vostre pagine di destinazione.

Select the Pages Where the Navigation Menu Should Be Hidden

Non dimenticate di fare clic sul pulsante “Salva” per memorizzare le impostazioni.

Fare di più con i menu di navigazione di WordPress

I menu di navigazione sono un potente strumento di web design. Permettono di indirizzare gli utenti verso le sezioni più importanti del sito.

Ora che i menu di navigazione sono diversi su pagine diverse e per utenti diversi, ci si può chiedere come personalizzarli ulteriormente.

Provate queste utili esercitazioni per estendere la funzionalità dei menu di navigazione sul vostro sito web WordPress.

Speriamo che questo tutorial vi abbia aiutato a imparare come aggiungere la logica condizionale ai menu in WordPress. Potreste anche voler imparare a creare flussi di lavoro automatizzati o consultare il nostro elenco dei migliori plugin di social proof per WordPress e WooCommerce.

Se questo articolo vi è piaciuto, iscrivetevi al nostro canale YouTube per le esercitazioni video su WordPress. Potete trovarci anche su Twitter e Facebook.

Divulgazione: I nostri contenuti sono sostenuti dai lettori. Ciò significa che se cliccate su alcuni dei nostri link, potremmo guadagnare una commissione. Vedi come WPBeginner è finanziato , perché è importante e come puoi sostenerci. Ecco il nostro processo editoriale .

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

Il kit di strumenti WordPress definitivo

Ottenete l'accesso gratuito al nostro kit di strumenti - una raccolta di prodotti e risorse relative a WordPress che ogni professionista dovrebbe avere!

Reader Interactions

36 commentiLascia una risposta

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Bet Hannon says

    Be VERY careful with making menus different across your site. It’s not a problem to show different menus to logged in/out users, but to meet WCAG 2.0+ accessibility standards, main menus should be consistent page to page.

    • WPBeginner Support says

      Thank you for sharing that for those attempting to have those standards for their site. :)

      Admin

  3. Kevin says

    I don’t see the “Enable conditional logic” under Appearance -> Menu. I’m using WordPress 5.7 as of March 16, 2021.

    • WPBeginner Support says

      The wording may have changed since this article but there should still be a checkbox for changing the visibility.

      Admin

  4. Richard S. says

    BIG Thank you for this article, it’s awesome.
    Your snippet of code was perfect for a project I was working on, as was this plugin which I’m now using.
    Even in 2019 this is a handy page, it’s working well on WordPress 5.2.3 (Astra Pro theme) so still very applicable.

  5. Vasim Shaikh says

    I would like to ask I have added role for user Author and subscriber both then its should be display to author not subscriber. how to handle this?

  6. Rudolf says

    Really simple and easy to use plugin. Fantastic! It did not only save me a lot of time but also an organizational advantage because instead of using widget logic with different menu widgets, I create now one 1 menu with conditions per item.

  7. Jonathan P says

    Thank you,

    I have only used this plugin for conditions for users that are logged in or not logged in, but it works great, it really has saved me hours of messing around with code.

  8. David says

    Thank you guys for sharing this. However it will display a PHP Notice on conditioned menu items and the custom condition won’t be displayed among condition options, if you don’t specify the id parameter.

  9. Paul says

    Hi, I added conditions (if a string matches the server name, a menu is hidden). Great! But I would like to add even more custom conditions. Could you show an example of the code you would use to add more than on name/condition pair the custom option?

    name = “If the site is not www.”
    condition = www is not in SERVER_NAME
    name = “Paul site.”
    condition = “paul is in SERVER_NAME”

    etc.

    Thanks!

  10. Isuru says

    This Conflicts the WP User Manager Pro, and then user manager Pro plugin functions not working due to the confliction.
    as an ex: Show password tick in user registration page doesn’t work, as well as login page also not functioning well.
    can you please fix this

  11. Mo says

    Yep, definitely broken.

    Works great for the built in conditions, but when coding custom conditions it works once and then stops working.

  12. Mohi says

    Hello
    I installed this plugin, but I am getting an warning as follows :

    Warning: Missing argument 2 for custom_nav_edit_walker() in /var/www/equest/wp-content/themes/wp-questrian/framework/megamenu/mega-menu.php on line 42

    How to solve this warning ? Please guide me.

  13. JMD says

    I have not used the If Menu plugn, but I tried the Nav Menu Roles plugin

    It works but then conflicts with the Mega menu functionality of my theme.

    I am hesitant to try the If Menu plugin mainly because it has not been updated in so long. It will be a matter of time before I have to remove it for sure.

  14. Peter says

    Could not get this plugin to work. Not showing up i menu-items. Using: WP 4.3 / Nimwa theme.

    Any suggestions on similar working plugin? Just want to hide some menu items while working on them…

  15. Chuks Eke says

    Hi,
    Could this be achieved with this plugin,
    I want to have different menu for different pages or post. for example,

    Home | About Us | Service | Contact

    About Us [ History | Team | Career ]
    Services [ Web Development | Window Application | Corporate ID ]

    Is it possible with this plugin to show sub menu on side menu for About Us

      • Dieter says

        I stopped installation after reading WP Org PlugIn Page, there is the comment “1 person says it is broken” and in the support section is an open report which is not solved.
        If I read something like this I don’t even try to install such plug in.

      • Jagabandhu says

        The plugin is not working. It’s not showing “enable conditional logic” and the plugin author is not responding from last 7 months.

        Tried with disabling other plugins. But no result.

        Is there any other plugin to do so!?
        I need it.

        • WPBeginner Support says

          We just tested the plugin and it is working fine at our demo site. Can you test it by switching to a default theme with no other plugins activated?

Lascia una risposta

Grazie per aver scelto di lasciare un commento. Tenga presente che tutti i commenti sono moderati in base alle nostre politica dei commenti e il suo indirizzo e-mail NON sarà pubblicato. Si prega di NON utilizzare parole chiave nel campo del nome. Avremo una conversazione personale e significativa.