KEMBAR78
Hur man lägger till villkorlig logik till menyer i WordPress (steg för steg)
Pålitliga WordPress-handledningar, när du behöver dem som mest.
Nybörjarguide till WordPress
WPB Cup
25 miljoner+
Webbplatser som använder våra plugins
16+
År av WordPress-erfarenhet
3000+
WordPress-handledningar
av experter

Hur man lägger till villkorlig logik till menyer i WordPress (steg för steg)

Har du någonsin önskat att din WordPress-meny kunde vara smartare? Kanske vill du visa olika navigeringsalternativ för inloggade medlemmar, eller visa specifika menyalternativ endast på vissa sidor.

Som standard visar WordPress samma statiska meny för alla, vilket kan göra att din webbplats känns generisk och otillräcklig. Vi har arbetat med många olika webbplatsägare som stött på exakt denna utmaning.

Lyckligtvis kan villkorliga menyer helt förändra din användarupplevelse.

När din WordPress-navigering anpassar sig till olika besökare och sammanhang hittar folk det de behöver snabbare. Och du kan guida dem mot de åtgärder som är viktigast för din verksamhet.

I den här guiden delar vi hur du lägger till villkorslogik i dina WordPress-menyer. Du kommer att lära dig hur du skapar dynamisk navigering som ändras baserat på användarroller, specifika sidor eller andra kriterier du väljer.

Hur man lägger till villkorlig logik till menyer i WordPress

Varför lägga till villkorsstyrd logik i menyer i WordPress?

Navigeringsmenyer ger din webbplats struktur och hjälper besökare att hitta det de letar efter.

Som standard kommer din WordPress-webbplats att visa samma navigeringsmeny för alla användare och på alla inlägg och sidor.

Det kan dock finnas tillfällen då du vill visa olika menyer för olika användare eller på olika sidor på din webbplats.

Med villkorlig logik kan du gå ett steg längre genom att skapa anpassade menyer för inloggade användare. Här är några exempel på användningsfall för olika typer av webbplatser:

  • Webbutik – Framhäv produkter eller specialerbjudanden baserat på en kunds surf- eller köphistorik.
  • WordPress medlemskapswebbplats – Visa exklusiva sidor och resurser endast för inloggade medlemmar.
  • Online inlärningsplattform – Visa olika kurskategorier eller lektioner beroende på en elevs framsteg.

Du kan se det som WordPress menyåtkomstkontroll. 💡

Med det i åtanke kommer vi att visa dig hur du lägger till villkorlig logik i WordPress-menyer. Här är de ämnen vi kommer att täcka i den här handledningen:

Redo? Låt oss börja.

Skapa nya navigeringsmenyer i WordPress

Det första steget är att skapa de ytterligare navigeringsmenyer du vill visa i WordPress. Därefter kan du använda villkorslogik för att bestämma när varje meny ska visas.

Härifrån och framåt kommer vi att visa dig hur du lägger till villkorliga menyer i WordPress för både klassiska och blockredigerare.

Skapa nya navigeringsmenyer i WordPress med den klassiska redigeraren

Den här metoden fungerar för användare av klassiska teman.

För att skapa nya navigeringsmenyer, gå helt enkelt till sidan Utseende » Menyer i WordPress-instrumentpanelen. Om du redan har en navigeringsmeny som du använder på din webbplats för alla användare, kan detta vara din standardmeny.

Skapa huvudmeny

Därefter behöver du klicka på länken 'skapa en ny meny' för att skapa ett nytt menyalternativ. Du kan till exempel skapa en meny som visas för inloggade användare och en annan som visas på en viss WordPress-sida eller kategori.

På vänster sida av skärmen kan du se en lista över dina webbplatsens sidor. Markera helt enkelt rutan bredvid den sida du vill lägga till i din meny och klicka på knappen 'Add to Menu'.

Inloggad meny

Du kan också dra och släppa menyalternativen på höger sida av skärmen för att ordna om dem.

Längre ner på sidan kan du välja en plats att visa din meny. Men du behöver inte tilldela en plats till den här menyn nu. Det gör vi i nästa steg.

Glöm inte att klicka på knappen 'Spara meny' för att spara dina ändringar.

För mer information om att skapa menyer kan du titta på vår nybörjarguide om hur man lägger till en navigeringsmeny i WordPress.

Skapa nya navigeringsmenyer i WordPress med FSE

För att skapa nya navigeringsmenyer i ett blocktema med Full Site Editing (FSE), måste du först navigera till Utseende » Redigerare från din WordPress-instrumentpanel.

När du är inne kan du klicka på fliken ‘Navigation’ för att expandera den. Om du undrar, använder vi temat Twenty-Twenty Three för den här guiden.

Expandera navigeringsfliken

Klicka sedan på ‘Redigera’ bredvid etiketten ‘Navigation’.

Detta öppnar redigeraren för hela webbplatsen på din skärm.

Härifrån är allt som återstår att göra att klicka på ikonen '+' för att lägga till ett navigeringsmenyobjekt. Du kommer då att se en prompt som visar en rullgardinsmeny där du kan välja ett alternativ.

Lägg till ett navigeringsmenyobjekt i redigeraren för hela webbplatsen

För mer detaljerade instruktioner kan du se vår guide om hur man lägger till en navigeringsmeny i WordPress.

Visa en annan meny för inloggade användare i WordPress

Det är ofta användbart att visa olika navigeringsmenyer för användare beroende på om de har loggat in på din webbplats eller inte.

Till exempel kan du inkludera inloggnings- och registreringslänkar för utloggade användare och lägga till en utloggningslänk i din meny för inloggade användare.

Om du driver en WooCommerce-butik kan du inkludera artiklar för dina kunder som är dolda för allmänheten.

Visa en annan meny för inloggade användare med den klassiska redigeraren

För att komma igång måste du installera och aktivera pluginet Conditional Menus. För mer information, se vår steg-för-steg-guide om hur man installerar ett WordPress-plugin.

Efter aktivering vill du navigera till Utseende » Menyer och växla till fliken 'Hantera platser'.

Hantera menyplatser

Härifrån ser du listan över tillgängliga menyplatser och de menyer som för närvarande visas. Dessa varierar beroende på det WordPress-tema du använder.

Till exempel, på vår demokwebbplats visas det att vår 'Primära meny'-plats visar en navigationsmeny med titeln 'Huvudmeny'.

Vi kan tala om för pluginet att visa en annan meny när ett visst villkor är uppfyllt genom att klicka på länken ‘+ Villkorsstyrd meny’ och välja en annan meny från rullgardinsmenyn.

För den här handledningen väljer vi 'Inloggad meny'.

Välj meny för inloggade

Därefter måste du klicka på länken '+ Villkor'.

Detta kommer att öppna ett popup-fönster där du ser en mängd villkor att välja mellan.

Välj inloggad användare som villkor

Markera helt enkelt rutan bredvid alternativet 'Användare inloggad' och klicka sedan på knappen 'Spara'.

Du kan nu besöka din webbplats för att se menyn för inloggade användare i praktiken. Du kan logga ut från din webbplats för att se navigationsmenyn som visas för alla andra användare.

Annan meny för inloggade användare

För mer detaljerade instruktioner och för att lära dig hur du gör detta med kod, ta en titt på vår guide om hur man visar olika menyer för inloggade användare i WordPress.

Visa en annan meny för inloggade användare med FSE

Om du använder ett blocktema, behöver du pluginet Conditional Blocks. Så, låt oss installera och aktivera pluginet först. Om du behöver hjälp, kan du se vår guide om hur man installerar ett WordPress-plugin.

När du har aktiverat det kan du öppna FSE-funktionen genom att navigera till Utseende » Redigerare. Klicka sedan på 'Mönster' och sedan 'Alla malldelar'.

Du bör nu se alla dina malldelar, vilket kan inkludera en sidfot, en sidhuvud och kommentarer. Låt oss klicka på de tre prickarna i sektionen 'Header' och sedan välja 'Redigera'.

Redigera knapp för sidhuvud i FSE

Detta kommer att omdirigera dig till blockredigeraren.

Nu behöver du klicka på blocket för navigeringsmenyn för att lägga till villkor.

Byt sedan helt enkelt till fliken ‘Block’ i panelen till höger för att börja anpassa.

Växla till blockfliken

Om du skrollar ner i fliken 'Block' ser du sektionen 'Villkorliga block'. Klicka helt enkelt på den för att öppna anpassningsalternativen.

Klicka sedan på knappen 'Redigera synlighet'.

Knappen Redigera synlighet i blockredigeraren

Ett popup-fönster där du kan ställa in villkor för din valda navigeringsmeny kommer att visas.

Här kan du öppna rullgardinsmenyn 'VILLKOR' och välja alternativet 'Användare inloggad'.

Ställa in villkor i blockredigeraren

Stäng helt enkelt fönstret genom att klicka på ‘X’-knappen i det övre högra hörnet.

Du bör sedan se ett villkor tillagt i sektionen 'Villkorliga block'. Klicka på 'Spara' för att uppdatera dina navigationsmenyer.

Nu, om du besöker din webbplats, här är hur det kan se ut för utloggade och inloggade användare:

Förhandsgranskning av livewebbplats för utloggade och inloggade användare

Visa en annan WordPress-meny beroende på användarroll

När en användare har loggat in kan du också visa en annan navigeringsmeny beroende på användarroll du har tilldelat dem.

Till exempel kan du inkludera extra menyalternativ för en administratör och mer begränsade alternativ för en bidragsgivare. På en medlemskapswebbplats kan du ge olika åtkomstnivåer till olika medlemskapsnivåer.

Visa en annan WordPress-meny beroende på användarroll med hjälp av den klassiska redigeraren

Precis som i föregående avsnitt behöver du installera och aktivera pluginet Conditional Menus .

Gå sedan till sidan Utseende » Menyer och byt till fliken ‘Hantera platser’.

Välj det villkorliga menyn

Du bör lägga till den lämpliga villkorliga menyn för din valda användarroll. För den här handledningen väljer vi menyn 'Nav Menu Administrator'.

Därefter kan du klicka på länken ‘+ Villkor’ för att välja användarroll.

Välj de roller som ska se menyn

Du måste klicka på fliken 'Användarroller' för att se kryssrutor för varje användarroll på din webbplats. Klicka helt enkelt på de användarroller som ska se den här menyn och klicka sedan på knappen 'Spara' för att spara dina ändringar.

Visa en annan WordPress-meny beroende på användarroll med FSE

För att visa en annan meny beroende på användarroller i FSE, kommer du att använda pluginet Content Control. Om du behöver hjälp med att installera och aktivera det, se vår guide om hur man installerar ett WordPress-plugin.

Efter aktivering kan du navigera till Utseende » Redigerare » Mönster » Alla mall-delar. Klicka sedan helt enkelt på de tre prickarna i avsnittet 'Rubrik' och välj sedan 'Redigera'.

Redigera knapp för sidhuvud i FSE

I redigeraren kan du välja en navigeringsmeny att lägga till villkor till.

Till exempel kommer vi att göra vår 'Blogg'-sida exklusiv för endast våra prenumeranter. Så vi klickar på 'Blogg' för att öppna dess anpassningsalternativ.

Härifrån, låt oss gå över till panelen till höger och växla omkopplaren 'Aktivera kontroller' i sektionen 'Blockkontroller'.

Aktivera kontroller för att tilldela användarroller för meny

Sedan vill du skrolla ner till avsnittet ‘Användarregler’ för att ställa in villkoren.

Öppna först helt enkelt rullgardinsmenyn ‘VEM KAN SE DETTA INNEHÅLL’ och välj ‘Inloggad användare.’

Välj sedan för rullgardinsmenyn 'ANVÄNDARROLL' 'Matchande'. Och i 'VALDA ROLLER', låt oss välja 'prenumerant'.

Tilldela villkor för användarroller

När du är klar kan du fortsätta och klicka på knappen ‘Spara’.

Visa en annan meny för olika sidor i WordPress

Du kan visa en annan meny för olika sidor i WordPress.

Till exempel kan du visa extra menyalternativ på din integritetspolicy-sida, som en länk till ditt cookie-meddelande.

Visa en annan meny för olika sidor i WordPress med den klassiska redigeraren

För att göra detta behöver du installera och aktivera pluginet Conditional Menus. Sedan vill du navigera till Utseende » Menyer » Hantera platser.

Efter att ha valt lämplig navigeringsmeny kan du klicka på länken ‘+ Villkor’. Den här gången bör du klicka på fliken ‘Sidor’. Du kommer att se en lista över varje sida på din webbplats.

Välj de sidor där menyn ska visas

Du behöver sedan placera en bock bredvid varje sida där du vill visa navigeringsmenyn. När du är klar, klicka på knappen ‘Spara’.

Visa en annan meny för olika sidor i WordPress med FSE

Användare av blockteman kan använda pluginet Block Visibility. Om du behöver hjälp med installationen, se vår guide om hur man installerar ett WordPress-plugin.

När det är aktiverat, låt oss navigera till Utseende » Redigerare » Mönster » Alla malldelar. Och efter att ha öppnat Headers redigerare kan du gå till sektionen 'Synlighet'.

Härifrån kan du öppna rullgardinsmenyn och välja 'URL-sökväg'.

Välja alternativet URL-sökväg i blockredigeraren

Sedan kan du lägga till URL-sökvägen till sidan för integritetspolicy i området 'URL PATH (CONTAIN)'.

En URL-sökväg är den del av en webbadress som kommer efter webbplatsens huvudnamn och visar en specifik sida eller ett objekt.

Till exempel, i adressen https://example.com/about, är delen /about URL-sökvägen.

Lägga till en URL-sökväg för villkorlig meny

Om du inte vet vad din integritetspolicy-sides URL-sökväg är, kan du gå till Sidor » Alla sidor. Sedan vill du hitta sidan Integritetspolicy och hovra över den.

Klicka helt enkelt på knappen 'Snabbreducera', och du kommer att se avsnittet 'Slug'. URL-sökvägen ska vara symbolen '/' följt av sidans slug.

En sidans slug

Eller besök helt enkelt sidan och kopiera och klistra in delen efter domännamnet.

Det var allt! Klicka bara på 'Spara' för att lagra ändringarna.

Dölja navigeringsmenyn på landningssidor i WordPress

Det kan finnas sidor på din webbplats där du inte vill visa en navigeringsmeny alls, till exempel dina landningssidor.

En landningssida är utformad för att öka försäljningen eller generera leads för ett företag. På dessa sidor vill du minimera distraktioner och ge användarna all information de behöver för att vidta en specifik åtgärd.

I vår guide om hur man ökar konverteringen på din landningssida med 300 %, föreslår vi att du minimerar distraktioner genom att ta bort navigeringsmenyer och andra länkar från sidan.

Dölja navigeringsmenyn på landningssidor i WordPress med den klassiska redigeraren

Du kan göra det med hjälp av pluginet Conditional Menus. Den här gången väljer du 'Inaktivera meny' från rullgardinsmenyn när du väljer den villkorliga menyn.

Välj Inaktivera meny från rullgardinsmenyn

Klicka sedan på länken '+ Villkor' för att välja när menyn ska visas.

Du bör klicka på fliken 'Sidor' och markera kryssrutan bredvid objektet 'Min landningssida'.

Välj sidorna där navigeringsmenyn ska döljas

Glöm inte att klicka på 'Spara'-knappen för att lagra och tillämpa dina inställningar.

Dölja navigeringsmenyn på landningssidor i WordPress med FSE

Nu, för användare av blockteman, kan du använda pluginet Block Visibility, men den här gången anger du URL-sökvägen i fältet ‘URL Path (Does Not Contain)’.

Så, låt oss installera och aktivera pluginet. Om du behöver hjälp, se gärna vår guide om hur man installerar ett WordPress-plugin.

Efter aktivering kan du gå till Utseende » Redigerare » Mönster » Alla mall-delar. Väl inne i sidhuvudsredigeraren, låt oss hitta sektionen 'Synlighet'.

Härifrån kan du välja 'URL-sökväg' och ange sökvägen till din landningssida i fältet 'URL-sökväg (innehåller inte)'.

Dölja landningssida

När du är klar, klicka helt enkelt på knappen 'Spara'.

Vanliga frågor om villkorliga menyer

Har du frågor om att ställa in eller anpassa villkorliga menyer i WordPress? Här är några snabba svar som hjälper dig att komma igång.

Vilket är det bästa villkorliga menypluginet för WordPress?

Om du använder ett klassiskt tema är pluginet Conditional Menus ett enkelt och pålitligt val. För blockteman ger verktyg som Conditional Blocks eller Block Visibility dig kraftfull kontroll direkt i redigeraren.

Kan jag lägga till villkorlig logik till menyer utan ett plugin?

Ja, men det innebär att lägga till anpassad kod i din temas filer, vilket bäst lämnas till avancerade användare eftersom ett litet misstag kan förstöra din webbplats.

För de flesta är ett plugin som WPCode ett mycket säkrare och enklare sätt att lägga till och hantera kodavsnitt. Du kan hitta allt om det i vår fullständiga WPCode-recension.

Kan jag tillämpa villkor på ett enskilt menyalternativ istället för hela menyn?

Absolut. Många moderna WordPress-teman och menyplugins tillåter detta. I den klassiska menyredigeraren (Utseende » Menyer) kan du ofta ställa in synlighetsregler för enskilda objekt. I blockredigeraren kan du tillämpa villkor på specifika navigeringslänkar.

Vidare läsning: Gör mer med WordPress-navigeringsmenyer

Navigeringsmenyer är kraftfulla verktyg för webbdesign. De låter dig dirigera användare till de viktigaste sektionerna på din WordPress-blogg eller webbplats.

Nu när du visar olika navigeringsmenyer på olika sidor och för olika användarroller, kanske du undrar hur du kan anpassa dem ytterligare.

För att förbättra funktionaliteten hos dina navigeringsmenyer, se till att kolla in dessa handledningar:

Om du gillade den här artikeln, prenumerera då på vår YouTube-kanal för WordPress-videoguider. Du kan också hitta oss på Twitter och Facebook.

Upplysning: Vårt innehåll stöds av läsarna. Det innebär att om du klickar på några av våra länkar kan vi tjäna en provision. Se hur WPBeginner finansieras, varför det är viktigt och hur du kan stödja oss. Här är vår redaktionella process.

Det ultimata WordPress-verktyget

Få GRATIS tillgång till vår verktygslåda - en samling WordPress-relaterade produkter och resurser som alla proffs bör ha!

Läsarnas interaktioner

36 CommentsLeave a Reply

  1. Jag började använda MemberPress och insåg att jag också behövde lägga till menyalternativ för inloggade användare som inte borde vara synliga för andra eftersom de inte är avsedda för dem. Tack vare den här artikeln kunde jag äntligen skapa två menyer, en för varje typ av användare. Det fungerar som magi, och det är perfekt.

  2. Var MYCKET försiktig med att ha olika menyer på din webbplats. Det är inget problem att visa olika menyer för inloggade/utloggade användare, men för att uppfylla WCAG 2.0+ tillgänglighetsstandarder bör huvudmenyerna vara konsekventa från sida till sida.

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

      Admin

  3. Jag ser inte "Aktivera villkorsstyrd logik" under Utseende -> Meny. Jag använder WordPress 5.7 från och med den 16 mars 2021.

    • Formuleringen kan ha ändrats sedan den här artikeln, men det bör fortfarande finnas en kryssruta för att ändra synligheten.

      Admin

  4. STORT tack för den här artikeln, den är fantastisk.
    Ditt kodutdrag var perfekt för ett projekt jag jobbade på, liksom det här pluginet som jag nu använder.
    Även 2019 är det här en användbar sida, den fungerar bra på WordPress 5.2.3 (Astra Pro tema) så den är fortfarande mycket relevant.

  5. Jag skulle vilja fråga, jag har lagt till roller för användaren Författare och prenumerant, båda ska då visas för författaren, inte prenumeranten. Hur hanterar jag detta?

    • Du kan ställa in det så att det visas om användaren har rollen Författare

      Admin

  6. Verkligen enkel och lättanvänd plugin. Fantastiskt! Den sparade mig inte bara mycket tid utan gav också en organisatorisk fördel eftersom jag istället för att använda widgetlogik med olika meny-widgets, nu skapar en meny med villkor per objekt.

  7. Tack,

    Jag har bara använt det här pluginet för villkor för användare som är inloggade eller inte inloggade, men det fungerar utmärkt, det har verkligen sparat mig timmar av krångel med kod.

  8. Kan jag ställa in det här pluginet så att jag kan skapa olika menyalternativ för varje olika kategori?

  9. Tack för att ni delade detta. Det kommer dock att visas ett PHP-meddelande på villkorliga menyalternativ och den anpassade villkoren kommer inte att visas bland villkorsalternativen, om du inte anger id-parametern.

  10. Hej, jag lade till villkor (om en sträng matchar servernamnet, en meny döljs). Bra! Men jag skulle vilja lägga till ännu fler anpassade villkor. Kan du visa ett exempel på koden du skulle använda för att lägga till mer än ett namn/villkor par till det anpassade alternativet?

    name = “Om webbplatsen inte är www.”
    condition = www finns inte i SERVER_NAME
    name = “Pauls webbplats.”
    condition = “paul finns i SERVER_NAME”

    etc.

    Tack!

  11. Detta konflikterar med WP User Manager Pro, och sedan fungerar inte plugin-funktionerna för användarhanteraren Pro på grund av konflikten.
    Som ett exempel: Visa lösenordsmarkering på sidan för användarregistrering fungerar inte, liksom inloggningssidan som heller inte fungerar bra.
    Kan du snälla fixa detta

  12. Ja, definitivt trasigt.

    Fungerar utmärkt för de inbyggda villkoren, men när man kodar egna villkor fungerar det en gång och slutar sedan att fungera.

  13. JA!!! Efter 90 minuter av att försöka förstå detta, fick den här artikeln det att fungera för mig. TACK!!!

  14. Hej
    Jag installerade det här pluginet, men jag får en varning som följer:

    Varning: Saknar argument 2 för custom_nav_edit_walker() i /var/www/equest/wp-content/themes/wp-questrian/framework/megamenu/mega-menu.php på rad 42

    Hur löser jag denna varning? Vänligen guida mig.

  15. Jag har inte använt If Menu-pluginet, men jag provade Nav Menu Roles-pluginet

    Det fungerar men det krockar sedan med mitt temas Mega-menyfunktionalitet.

    Jag är tveksam till att prova If Menu-pluginet främst för att det inte har uppdaterats på så länge. Det kommer bara att vara en tidsfråga innan jag måste ta bort det.

  16. Kunde inte få detta plugin att fungera. Visas inte i menyalternativ. Använder: WP 4.3 / Nimwa-tema.

    Några förslag på liknande fungerande plugin? Jag vill bara dölja några menyalternativ medan jag arbetar med dem...

  17. Hej,
    Kan detta uppnås med detta plugin,
    Jag vill ha olika menyer för olika sidor eller inlägg. till exempel,

    Hem | Om oss | Tjänst | Kontakt

    Om oss [ Historia | Team | Karriär ]
    Tjänster [ Webbuteckling | Fönsterapplikation | Företags-ID ]

    Är det möjligt med detta plugin att visa undermeny i sidomenyn för Om oss

      • Jag avbröt installationen efter att ha läst WP Org PlugIn Page, där finns kommentaren "1 person säger att den är trasig" och i supportsektionen finns en öppen rapport som inte är löst.
        Om jag läser något sådant försöker jag inte ens installera ett sådant plugin.

      • Pluginet fungerar inte. Det visar inte "aktivera villkorlig logik" och pluginets författare har inte svarat på 7 månader.

        Försökte med att inaktivera andra plugins. Men inget resultat.

        Finns det något annat plugin som kan göra det!?
        Jag behöver det.

Lämna ett svar

Tack för att du väljer att lämna en kommentar. Tänk på att alla kommentarer modereras enligt vår kommentarspolicy, och din e-postadress kommer INTE att publiceras. Använd INTE nyckelord i namn fältet. Låt oss ha en personlig och meningsfull konversation.