Haben Sie sich jemals gefragt, wie verwirrend es für die Besucher Ihrer WordPress-Website sein kann, wenn sie angemeldet sind, aber immer noch überall „Anmelden“ oder „Registrieren“-Schaltflächen sehen? Oder vielleicht haben Ihre Mitglieder Schwierigkeiten, ihr Konto-Dashboard zu finden, weil es im Menü versteckt ist.
Diese kleinen Frustrationen können dazu führen, dass sich selbst Ihre treuesten Benutzer auf Ihrer eigenen Website wie Außenseiter fühlen.
Und ein personalisiertes Menü kann den Unterschied ausmachen. Wenn Sie eingeloggten Benutzern Optionen wie „Mein Konto“ oder „Abmelden“ anstelle von generischen Links anzeigen, fühlt sich Ihre Website einladender und professioneller an.
Die gute Nachricht? Das Erstellen dynamischer Menüs in WordPress ist einfacher, als Sie vielleicht denken.
In diesem Leitfaden zeigen wir Ihnen zwei einfache Methoden, um eingeloggten Benutzern unterschiedliche Menüs anzuzeigen, unabhängig von Ihrem Kenntnisstand. 💡

Warum unterschiedliche Menüs für angemeldete Benutzer in WordPress anzeigen?
Das Ändern verschiedener Bereiche Ihrer WordPress-Website basierend auf Ihren Besuchern und deren Aktivitäten lässt Ihre Website für jeden Benutzer personalisiert wirken.
Dieser personalisierte Inhalt hilft Ihnen, die Benutzererfahrung auf Ihrer WordPress-Website zu verbessern.
Wenn Sie eine Website betreiben, auf der sich Benutzer nicht registrieren oder anmelden müssen, können Sie wahrscheinlich dieselben Navigationsmenüs auf Ihrer gesamten Website verwenden. Andere Websites können jedoch stark davon profitieren, eingeloggten Benutzern benutzerdefinierte Menüs anzuzeigen.
Zum Beispiel können Websites wie ein Online-Shop, eine Online-Lernplattform oder eine WordPress-Mitgliederseite-Community von personalisierten Navigationsmenüs profitieren.
Ein personalisiertes Navigationsmenü für eingeloggte Benutzer hilft ihnen, Dinge, für die sie sich angemeldet haben, leichter zu finden.
Zum Beispiel kann ein Benutzer in einem Online-Shop sein Konto verwalten, oder ein Mitglied einer kostenpflichtigen Community kann sein Abonnement einfach verlängern oder die exklusiven Online-Kurse ansehen, die er gekauft hat.

Standardmäßig können Sie in WordPress so viele Navigationsmenüs erstellen, wie Sie möchten. Sie können jedoch nur ein Menü an einem bestimmten Ort in Ihrem WordPress-Theme anzeigen lassen.
Bevor Sie Menüs für eingeloggte Benutzer einrichten, müssen Sie zunächst zwei separate Navigationsmenüs erstellen. Ein Menü ist für eingeloggte Benutzer und das andere für ausgeloggte Benutzer. Legen wir los.
⚠️ Nur eine kurze Notiz! Die von uns vorgestellten Methoden sind für Personen gedacht, die klassische WordPress-Themes verwenden. Wenn Sie ein Block-Theme mit Full Site Editing (FSE) Funktionen ab WordPress 5.8 verwenden, funktioniert diese Methode möglicherweise nicht.
Menüs für angemeldete und nicht angemeldete Benutzer in WordPress erstellen
Um separate Menüs für die beiden Benutzertypen zu erstellen, gehen Sie zur Seite Darstellung » Menüs im WordPress-Dashboard.
Wenn Sie bereits ein Navigationsmenü haben, das Sie auf Ihrer Website für alle Benutzer verwenden, kann dies Ihr Standardmenü sein.

Danach können Sie auf den Link 'Neues Menü erstellen' klicken, um ein neues benutzerdefiniertes Menü für Ihre eingeloggten Benutzer zu erstellen.
Fügen Sie hier Menüpunkte hinzu, die Sie registrierten oder angemeldeten Benutzern anzeigen möchten. Sie könnten zum Beispiel einen Logout-Link zu Ihrem Menü hinzufügen.
Auf der linken Seite des Bildschirms sehen Sie eine Liste Ihrer Website-Seiten. Aktivieren Sie einfach das Kontrollkästchen neben jeder Seite, die Sie zu Ihrem Menü hinzufügen möchten, und klicken Sie auf die Schaltfläche „Zum Menü hinzufügen“.

Sie können die Menüpunkte auf der rechten Seite des Bildschirms auch per Drag & Drop verschieben, um sie neu anzuordnen.
Weiter unten auf der Seite können Sie eine Position auswählen, an der Ihr Menü angezeigt werden soll. Sie müssen diesem Menü jedoch jetzt keine Position zuweisen. Das werden wir später im Artikel tun.
Vergessen Sie nicht, auf die Schaltfläche „Menü speichern“ zu klicken, um Ihre Änderungen zu speichern.
Weitere Details zur Erstellung von Menüs findest du in unserer Anleitung für Anfänger zu WordPress-Navigationsmenüs.
Jetzt sind Sie bereit, eingeloggten Benutzern unterschiedliche Menüs anzuzeigen. Hier ist eine kurze Übersicht über alle Methoden, die wir in diesem Leitfaden behandeln werden:
- Methode 1. Unterschiedliche Menüs für angemeldete Benutzer in WordPress mit einem Plugin anzeigen
- Methode 2. Anmelden-Menü in WordPress manuell mit Code auswählen
- Bonus-Tipp: Weitere Anwendungsfälle für bedingte Logik in WordPress-Menüs
- FAQs: Unterschiedliche Menüs für eingeloggte Benutzer in WordPress anzeigen
- Zusätzliche Ressourcen: WordPress-Benutzerrollen und Website-Navigation
Bereit für ein maßgeschneidertes Erlebnis? Tauchen wir ein! 🌟
Methode 1. Unterschiedliche Menüs für angemeldete Benutzer in WordPress mit einem Plugin anzeigen
Der einfachste Weg, eingeloggten Benutzern unterschiedliche Menüs anzuzeigen, ist die Verwendung des Conditional Menus Plugins. Installieren und aktivieren wir es also zuerst.
Weitere Details finden Sie in unserer Schritt-für-Schritt-Anleitung zum Thema Installieren eines WordPress-Plugins.
Nach der Aktivierung müssen Sie in Ihrem WordPress-Dashboard zu Design » Menüs navigieren. Wechseln Sie dann zur Registerkarte „Standorte verwalten“.
Von hier aus sehen Sie die Liste der verfügbaren Menüpositionen, die in Ihrem WordPress-Theme definiert sind, und die Menüs, die derzeit angezeigt werden.
Zum Beispiel zeigt unser „Primäres Menü“-Standort derzeit ein „Hauptmenü“ an.

Jetzt müssen wir dem Plugin sagen, dass es ein anderes Menü anzeigen soll, wenn eine bestimmte Bedingung erfüllt ist.
Um das zu tun, klicken wir auf den Link „+ Bedingungsmenü“. Dann können Sie aus dem Dropdown-Menü das Navigationsmenü auswählen, das Sie den angemeldeten Benutzern anzeigen möchten.

Als Nächstes möchtest du auf den Link „+ Bedingungen“ klicken.
Dies öffnet ein Popup-Fenster, in dem Sie eine Reihe von Bedingungen zur Auswahl sehen.

Aktivieren Sie einfach das Kontrollkästchen neben der Option „Benutzer angemeldet“ und klicken Sie dann auf die Schaltfläche „Speichern“.
Sie können nun Ihre Website besuchen, um das Menü für angemeldete Benutzer in Aktion zu sehen. Sie können sich auch aus Ihrem WordPress-Admin abmelden, um das Navigationsmenü anzuzeigen, das allen anderen Benutzern angezeigt wird.

Methode 2. Anmelden-Menü in WordPress manuell mit Code auswählen
Diese Methode erfordert, dass Sie Code zu Ihrer WordPress-Website hinzufügen. Wenn Sie dies noch nie getan haben, werfen Sie einen Blick auf unseren Leitfaden zum Kopieren und Einfügen von Code-Snippets in WordPress.
Im Allgemeinen werden Sie in Blogs erfahren, dass Sie einen Code-Schnipsel zur functions.php-Datei Ihres Themes oder zu einem standortspezifischen Plugin hinzufügen müssen. Wir empfehlen diese Methode jedoch nicht, da sie potenziell Probleme mit Ihrer Website verursachen kann.
Stattdessen können Sie das WPCode-Plugin verwenden.
WPCode ermöglicht es Ihnen, benutzerdefinierte Code-Snippets zu Ihrer Website hinzuzufügen, ohne die Theme-Dateien direkt zu bearbeiten. Es hilft auch bei der Verwaltung dieser Snippets und stellt sicher, dass sie sicher ausgeführt werden, wodurch das Risiko, Ihre Website zu beschädigen, minimiert wird.
ℹ️ Hinweis: Über unsere Partner-Marken hinweg war WPCode unser bevorzugtes Werkzeug zum Hinzufügen benutzerdefinierter Snippets zur Erweiterung der Funktionalität jeder Website. Wenn Sie mehr erfahren möchten, können Sie unseren umfassenden WPCode-Testbericht lesen.
Um zu beginnen, installieren wir das WPCode-Plugin. Sie können die kostenlose Version von WPCode verwenden, da sie alle Funktionen enthält, die Sie benötigen, um unterschiedliche Menüs für angemeldete Benutzer anzuzeigen.
Wenn Sie jedoch Zugriff auf erweiterte Funktionen wie die Code-Revisionshistorie und die Planung des Live-Schaltens von Snippets wünschen, sollten Sie ein Upgrade auf WPCode Pro in Betracht ziehen.
Nach der Installation navigieren Sie zu Code-Snippets » + Snippets hinzufügen.

Dies öffnet die Code-Snippet-Galerie von WPCode.
Von hier aus können Sie auf die Schaltfläche „+ Benutzerdefiniertes Snippet hinzufügen“ klicken.

Sie gelangen dann zum Texteditor von WPCode.
Der nächste Schritt ist, Ihrem Code-Snippet einen Titel hinzuzufügen und aus dem Dropdown-Menü „Code-Typ“ die Option „HTML-Snippet“ auszuwählen.

Sobald Sie fertig sind, kopieren Sie einfach den folgenden Code und fügen Sie ihn in das Feld „Code-Vorschau“ ein:
function my_wp_nav_menu_args( $args = '' ) {
if( is_user_logged_in() ) {
// Logged in menu to display
$args['menu'] = 43;
} else {
// Non-logged-in menu to display
$args['menu'] = 35;
}
return $args;
}
add_filter( 'wp_nav_menu_args', 'my_wp_nav_menu_args' );
So könnte es in Ihrem WPCode-Editor aussehen:

Stellen Sie sicher, dass Sie 43 und 35 durch die IDs der zuvor erstellten Navigationsmenüs ersetzen.
Sie können die ID eines Navigationsmenüs finden, indem Sie es auf der Seite „Menüs“ auswählen. Die Menü-ID-Nummer wird in der Adressleiste Ihres Browsers angezeigt.

Sobald Sie sichergestellt haben, dass alle Details korrekt sind, klicken Sie auf die blaue Schaltfläche „Snippet speichern“.
Und das ist alles!
Bonus-Tipp: Weitere Anwendungsfälle für bedingte Logik in WordPress-Menüs
Wenn es um Navigation geht, kann bedingte Logik mehr tun, als nur verschiedenen Benutzern, die angemeldet sind, unterschiedliche Menüs anzuzeigen. Hier sind ein paar schnelle Beispiele:
- Unterschiedliche Menüs basierend auf Benutzerrolle anzeigen: Sie können Administratoren und Mitarbeitern unterschiedliche Menüs anzeigen. Zeigen Sie beispielsweise nur für Administratoren bestimmte Optionen wie Website-Einstellungen oder Benutzerverwaltung an, während Sie Mitarbeitern oder anderen Benutzerrollen allgemeine Navigationslinks anbieten.
- Unterschiedliche Menüs auf verschiedenen Seiten anzeigen: Möchten Sie ein einzigartiges Menü auf Ihrer Blog-Seite oder Ihren Produktseiten? Bedingungslogik ermöglicht es Ihnen, für jede Seite spezifische Menüs zu erstellen, sodass die Navigation auf den Inhalt zugeschnitten ist.
- Navigation auf Landing Pages ausblenden: Landing Pages funktionieren am besten ohne Ablenkungen. Verwenden Sie bedingte Logik, um Ihr Navigationsmenü auszublenden und die Aufmerksamkeit auf Ihren Call-to-Action zu lenken, wie z. B. ein Anmeldeformular oder ein Produktangebot.
Um mehr zu erfahren, können Sie unseren Leitfaden zur bedingten Logik in WordPress-Menüs konsultieren.
FAQs: Unterschiedliche Menüs für eingeloggte Benutzer in WordPress anzeigen
Haben Sie noch Fragen zum Anzeigen unterschiedlicher Menüs für Benutzer in WordPress? Hier sind einige schnelle Antworten, die Ihnen helfen sollen:
Kann ich unterschiedliche Menüs basierend auf Benutzerrollen anzeigen?
Absolut. Sie können Administratoren, Redakteuren oder jeder anderen benutzerdefinierten Benutzerrolle auf Ihrer Website eindeutige Menüs anzeigen. Das Plugin "Conditional Menus" bietet eine einfache Option, dies einzurichten, was perfekt für die Anpassung der Navigation für Ihre Teammitglieder ist.
Ist es besser, ein Plugin zu verwenden oder Code manuell hinzuzufügen?
Für die meisten Benutzer empfehlen wir die Verwendung eines Plugins wie Conditional Menus oder WPCode. Diese Tools erleichtern die Anzeige unterschiedlicher Menüs, ohne Ihre Theme-Dateien zu berühren.
WPCode ist besonders hilfreich, wenn Sie die Flexibilität der Code-Nutzung bevorzugen. Es ermöglicht Ihnen, sicher benutzerdefinierte PHP-Snippets hinzuzufügen und sie von Ihrem WordPress-Dashboard aus zu verwalten – Sie müssen functions.php nicht direkt bearbeiten.
Manuelles Codieren ist immer noch eine gute Option für Entwickler, aber für alle anderen ist ein Plugin die sicherere und anfängerfreundlichere Wahl.
Kann ich das Navigationsmenü auf bestimmten Seiten ausblenden?
Ja, Sie können dieselbe bedingte Logik verwenden, um Ihr Navigationsmenü auf bestimmten Seiten auszublenden. Dies ist eine beliebte Strategie für Landing Pages, da sie Ablenkungen reduziert und den Besucher auf Ihren Call-to-Action konzentriert.
Zusätzliche Ressourcen: WordPress-Benutzerrollen und Website-Navigation
Wir hoffen, dieser Artikel hat dir geholfen zu lernen, wie du angemeldeten Benutzern in WordPress einfach unterschiedliche Navigationsmenüs anzeigen kannst. Als Nächstes möchtest du vielleicht auch unsere Anleitungen zu folgenden Themen sehen:
- So erlauben Sie die Benutzerregistrierung auf Ihrer WordPress-Website
- So können Sie Benutzern erlauben, ihre Freunde zur Registrierung in WordPress einzuladen
- So moderieren Sie neue Benutzerregistrierungen in WordPress
- So verhindern Sie, dass WordPress Sie mit „Angemeldet bleiben“ vergisst
- Wie begrüße ich jeden Benutzer mit einer benutzerdefinierten Willkommensnachricht in WordPress
- So beschränken Sie Ihre WordPress-Formulare nur auf angemeldete Benutzer
- So gestalten Sie WordPress-Navigationsmenüs
- Beste WordPress-Mitglieder-Plugins
Wenn Ihnen dieser Artikel gefallen hat, abonnieren Sie bitte unseren YouTube-Kanal für WordPress-Video-Tutorials. Sie finden uns auch auf Twitter und Facebook.

Jan-Paul Kleijn
Zuerst dachte ich an ein Plugin. Muss aufhören, so zu denken.
Dann sah ich deinen Beitrag und war überzeugt.
Danke für das Posten, du hast mir sehr geholfen.
Phil
Vielen Dank dafür. Funktioniert perfekt.
Ariet
Hallo,
Das funktioniert total!
Aber es ändert auch mein Footer-Menü.. gibt es eine Möglichkeit, dass mein Footer-Menü gleich bleibt?
Tarron Acuff
Ich habe also 2 Menüs. Eines für die Öffentlichkeit und ein anderes, das ich gerne sehen würde, wenn Mitarbeiter angemeldet sind. Das Mitarbeitermenü würde das Hauptmenü nur ersetzen, wenn ein Mitarbeiter angemeldet ist.
Hier ist, was ich derzeit in meiner functions.php-Datei verwende
// Setzt die Rolle als Body-Klasse
function add_role_to_body( $classes ) {
$user = wp_get_current_user();
$user_roles = $user->roles; foreach( $user_roles as $role ) { $classes[] = ‘role-‘ . $role; }
return $classes;
}
add_filter( ‘body_class’, ‘add_role_to_body’ );
***Hier ist, was ich für CSS hinzugefügt habe***
/* Zuerst die Menüpunkte für Nicht-„Mitarbeiter“-Benutzer ausblenden */
#top-menu li.menu-for-employee { display: none; }
/* Zeige die Menüpunkte für den "Mitarbeiter"-Benutzer an */
.role-employee #top-menu li.menu-for-employee { display: initial; }
Wenn ich mich als Mitarbeiter anmelde, werden beide Menüs angezeigt.
Danke im Voraus.
Wasim
Es funktioniert bei mir nicht. Es wird das Standardmenü angezeigt, nachdem ich diesen Code hinzugefügt habe, sogar mein primäres Menü ist weg.
Joe
Hallo Leute,
Ein schönes Tutorial, aber ich habe mich gefragt, ob man den gleichen Ansatz verwenden könnte, um ein responsives Menü bei einer bestimmten Bildschirmgröße zu ersetzen?
Ich habe zwei Menüs, hätte aber lieber nur ein responsives Menü bei 768 Pixeln, indem ich das Menü durch ein anderes ersetze.
Danke
Pet
Tolle Arbeit mit Ihren Anleitungen. Ich baue meine erste WordPress-Website und finde Ihre Seite unglaublich hilfreich, um mich zu leiten, danke.
Ich wollte wirklich unterschiedliche Menüs für angemeldete Benutzer (wie „Profil bearbeiten“) und für nicht angemeldete Benutzer anzeigen, und das hat mich hierher gebracht. Der von Ihnen geteilte Code funktioniert bei mir einwandfrei. Ich habe jetzt zwei Menüs, die gut angezeigt werden. Der letzte Teil des Codes, der Add-Filter-String, macht mir jedoch ein wenig zu schaffen. Jetzt wird ein weiteres Menü unter dem Sidebar-Widget angezeigt. Das „eingeloggte“ Menü. Ich benutze das Sydney-Theme und habe vergeblich versucht, dieses unnötige Menü zu entfernen. Haben Sie eine Idee, wie ich es nicht anzeigen lassen kann?
WPBeginner Support
Hallo Pet,
Bitte überprüfen Sie die Seite Darstellung » Widgets, um zu sehen, ob Sie dort ein benutzerdefiniertes Menü als Widget hinzugefügt haben. Wenn es dort ist, können Sie dieses Widget einfach löschen.
Admin
Pet
What genius! It worked! Thanks for the wonderful tip!!
Jomcy Johny
Ich habe dasselbe Problem. Bitte helfen Sie mir. Aber ich habe keine Widgets. Danke..!
Alex Hammerschmied
Works like a charm…
Thanks for that.
Btw i love theses short tutorials
giovanna
Hallo, können Sie mir bitte helfen? Ich habe noch ein Problem, bitte? Ich muss ein Menü für alle ausblenden und nur den Händlern erlauben, es zu sehen, was muss ich tun, bitte? Welchen spezifischen Code muss ich verwenden, bitte?
ericlee
Wenn Sie functions.php so ändern, wird sie dann nicht gelöscht, wenn Sie Ihre nächste WP-Version aktualisieren?
WPBeginner Support
Ja, es wird bei einem Update deines Themes überschrieben. Um dies zu verhindern, kannst du ein sitespezifisches Plugin erstellen.
Admin
Ramona
Funktioniert das für eine Buddypress-Installation? Danke.
Nikhil Chaudhari
Setzt die Funktion auch das sekundäre Menü? Ich möchte nur das primäre Menü setzen. Wie mache ich das?
Nikhil Chaudhari
Diese obige Funktion setzt das sekundäre Menü. Alles, was ich einstellen möchte, ist das Hauptmenü?
Wie mache ich das?
Asfaha
Hallo,
Vielen Dank für diese Lösung, ich habe sie angewendet und sie funktioniert perfekt und hat mir die Installation eines weiteren Plugins erspart.
Shafaq
Dies ist der Code zum Ersetzen des vorhandenen Menüs durch das Menü für angemeldete Benutzer, indem die Position "top-menu" und das Menü "loggedin" hinzugefügt werden, kein "else"-Statement erforderlich.
add_filter( ‘wp_nav_menu_args’, function ( $args )
{ if( is_user_logged_in() && $args[‘theme_location’] === ‘top-menu’ ) { $args[‘menu’] = ‘loggedin’; } return $args; });
Ashraf Ali
———————————————————–
function my_wp_nav_menu_args( $args = "" ) {
if( ist_benutzer_eingeloggt() ) { $args['menu'] = 'eingeloggt'; } else { $args['menu'] = 'ausgeloggt'; } return $args; } add_filter( 'wp_nav_menu_args', 'my_wp_nav_menu_args' ); ———————————————————–
Wie bekomme ich es jetzt zum Laufen mit
—————————————————
———————————————————————————————————————-
Bitte um Rat
Iqbal Mahmud
Wenn ich eine Seite für nicht angemeldete Benutzer aus einem einzelnen Menü ausblenden möchte, was muss ich tun?
Kasper
Sie können Seiten sperren, um sie für abgemeldete Benutzer auszublenden. Es gibt mehrere Plugins, die dies sehr einfach machen. Users Ultra fällt mir ein.
Zev
Alles hat perfekt funktioniert.
Ich habe jedoch immer noch das Problem eines wiederholten Hauptmenüs im Bereich der sekundären Navigation, das ich nicht entfernen kann (ich habe kein sekundäres Menü eingerichtet).
Vince
Ich habe genau das gleiche Problem. Die Änderung spiegelt sich unerwartet im sekundären Menüstandort wider und ich habe auch kein sekundäres Menü eingerichtet. :/ Bitte raten Sie, wie ich damit umgehen soll.
Danke im Voraus.
Chiranjeevi Vinodkumar
ACHTUNG!!!
Die meisten von uns verwenden Themes.
Gehen Sie also zuerst zur functions.php Ihres Themes.
Suchen Sie mit Navigation als Stichwort.
Im Falle des Shopkeeper-Themes..
================================================================== register_nav_menus( array( 'top-bar-navigation' => __( 'Top Bar Navigation', 'shopkeeper' ), 'main-navigation' => __( 'Main Navigation', 'shopkeeper' ), 'footer-navigation' => __( 'Footer Navigation', 'shopkeeper' ), ===================================================================
So siehst du aus.. wähle also dasjenige aus, das primär ist. In meinem Fall ist es „Top Bar Navigation“, daher habe ich „top-bar-navigation“ verwendet.
Ich habe den folgenden Code verwendet und er hat wie am Schnürchen funktioniert!!!
Dies ist meine Art, dem Autor zu danken.
Guten Tag !!
Ann Novakowski
Hier ist, was für mich mit WP funktioniert hat. Ich habe dies verwendet, um ein spezifisches primäres Menü für angemeldete Buddypress-Benutzer zu erstellen. Es wird mein Fußzeilenmenü ODER mein Social-Media-Menü für alle Besucher NICHT beeinflussen, sodass jeder die gleichen sekundären Menüs sieht, unabhängig davon, ob er angemeldet ist oder nicht. Dies basiert auf allen Kommentaren oben (HT an Fransiska!).
Habe Folgendes zu meiner functions.php-Datei meines Child-Themes hinzugefügt:
// HAUPTMENÜ =NUR= ÄNDERN, WENN MITGLIED ANGEMELDET IST
function my_wp_nav_menu_args( $args = "" ) { if ($args['theme_location'] == 'primary') { if( is_user_logged_in()) { $args['menu'] = 'logged-in'; }else{ $args['menu'] = 'logged-out'; } } return $args; }
add_filter( ‘wp_nav_menu_args’, ‘my_wp_nav_menu_args’ );
Oliver
Ich weiß nicht, was passiert ist, warum mein Kommentar, aber –> ” <– diese sind korrekt!
fidel toro
danke!! hat mir sehr geholfen
Matthias Campbell
Hallo,
Ich habe diesen Code (wahrscheinlich falsch) in meine functions.php innerhalb meines Themes im WordPress-Editor eingefügt und jetzt habe ich einen ständigen 500er-Serverfehler. Selbst nachdem ich den Code entfernt habe.
Davor habe ich versucht, ein standortspezifisches Plugin zu erstellen, aber das hat nicht funktioniert. Könnten Sie mir bitte sagen, ob der Snippet eine öffnende und schließende Klammer benötigt?
Wenn ja, wie mache ich das?
Mein Hoster kann mir jetzt nicht helfen und sie verlangen, dass ich einen Programmierer bezahle, der mir für 50 € pro Stunde hilft. Bitte helfen Sie mir. Es ist dringend.
Ich bin immer noch in WordPress eingeloggt, aber was auch immer ich anklicke, ich bekomme den 500-Fehler mit dieser spezifischen Fehlermeldung.
PHP Parse error: syntax error, unexpected ‘}’ in line 1194.
Das liegt daran, dass ich den Snippet nach dem gesamten Text in der functions.php-Datei eingefügt habe.
Ich habe den Snippet dann entfernt, um zu sehen, ob das das Problem behebt, über den Editor und FTP, und ich bekomme immer noch den Fehler.
Ich freue mich auf Ihre Antwort.
Mit freundlichen Grüßen
WPBeginner Support
Es kommt darauf an, wo Sie den Code hinzufügen. Wenn sich davor ein schließendes PHP-Tag befindet, müssen Sie ein PHP-Start-Tag wie <?php hinzufügen.
Wenn dieser Code das Letzte in der Funktionen-Datei ist, müssen Sie kein schließendes Tag hinzufügen.
Admin
Hubert
Wenn Sie mehrere Menüpositionen haben und für jede Position unterschiedliche Menüs anwenden möchten, können Sie den folgenden Code verwenden:
function my_wp_nav_menu_args( $args = ” ) {
// Primärer Menüstandort
if( ‘primary-main’ == $args[‘theme_location’] ) {
if( is_user_logged_in() ) { $args[‘menu’] = ‘Primary-Logged-In’; } else { $args[‘menu’] = ‘Primary-Logged-Out’; }
return $args; }
// Sekundärer Menüstandort
if( ‘secondary-menu’ == $args[‘theme_location’] ) {
if( is_user_logged_in() ) { $args[‘menu’] = ‘Secondary-Logged-In’; } else { $args[‘menu’] = ‘Secondary-Logged-Out’; }
return $args;
}
}
add_filter( ‘wp_nav_menu_args’, ‘my_wp_nav_menu_args’ );
Haji
Das funktioniert nicht, weiß jemand den richtigen Code, wenn man 2 oder mehr Menüs hat?
Ravikant
Perfekt, Bruder. Es funktioniert... tolle Arbeit
Leopold
Das war fast zu einfach!
Vielen Dank für den einfachen Artikel.
Auf diese Weise muss ich kein Plugin installieren..
Gaurang
Ich denke, es ist besser, das IF MENU Plugin zu verwenden. https://wordpress.org/plugins/if-menu/
Durch die Erstellung zweier separater Menüs wie dieser muss der Benutzer das Menü zweimal erstellen/aktualisieren.
Chris
Hallo Gaurang,
Ich bin neugierig zu erfahren, warum du denkst, dass die Verwendung des Plugins besser ist, als das Coding der functions.php-Datei? Mir wurde vor einiger Zeit gesagt, ich solle darauf achten, wie viele Plugins tatsächlich für eine WordPress-Site verwendet werden, und der obige Code scheint einfach genug zu sein; abzüglich der Notwendigkeit, jedes Mal zu überwachen, wenn dein Theme aktualisiert wird...
Danke,
Rub
Großartig, wie kann ich es verwenden, um ein Menü für angemeldete Benutzer mit einer bestimmten Rolle anzuzeigen?
Kit Johnson
Das hat so einfach und sauber funktioniert. Ich hätte nicht gedacht, dass es so einfach sein würde. Danke!
Jason Sisson
Das ist super, habe es ausprobiert. Funktioniert. Aber ich würde auch gerne nach Rolle weiterleiten.
Ist das einfach oder viel schwieriger?
Ryan R. Bayne
Danke. Arbeite zum ersten Mal mit Menüfunktionen.
Erstellung des WTG Portal Manager Plugins, das es ermöglicht, ein Portal sehr schnell zu definieren. Jedes Portal hat sein eigenes Menü. Das Plugin macht die Beziehung zwischen Portal und Menü klarer und bietet weitere einzigartige Optionen.
veer2412
Wie kann ich verschiedenen Benutzern unterschiedliche Beiträge anzeigen?
veer2412
danke für die Hilfe.. aber was ist, wenn ich verschiedenen Benutzern verschiedene Beiträge auf meiner Website anzeigen möchte.. gibt es eine Möglichkeit, das mit Code zu machen??
WPBeginner-Mitarbeiter
Unter Darstellung > Menüs müssen Sie einen Speicherort für Ihr Menü auswählen. Es scheint, dass es auf Ihrer Website zwei Bereiche gibt, in denen Sie Menüs hinzufügen können. Sie müssen also zwei verschiedene Menüs erstellen und ihnen dann einen Speicherort zuweisen.
Heather Gile
Wie würde der überarbeitete Code dafür aussehen, wenn es eine Unterscheidung zwischen 'Primary' und 'Top' gäbe?
$args[‘primary-menu’] = ‘logged-in’;
$args[‘top-menu’] = ‘logged-in’;
else
$args['primary-menu'] = 'logged-out';
$args['top-menu'] = 'logged-out';
?
Kyle
Wordpress erlaubt mir nicht, 2 Menüs in meiner „Top-Header“-Position zu platzieren. Der von Ihnen bereitgestellte Code funktioniert, aber er hat ALLE meine Menüs auf die für angemeldete oder abgemeldete Benutzer geändert und zeigt mein normales Navigationsmenü nicht an.
b2995
Ich habe ein Top-Menü sowie ein Seitenmenü (unter dem Logo). Wie würde ich den Code ändern, um nur dieses Top-Menü zu wechseln? Im Moment ändern sich ALLE meine Menüs.
Harry Slyman
You saved my day! thank you
Rob
OMG, das hat mich so zum Lachen gebracht, es war so einfach… danke!
Melih
Anschaulich und einfach, vielen Dank.
Rohit Gahlot
Working ..
Thanks a lot
Seth
Danke dafür.
Auf der Startseite werden Menünamen, die ein Untermenü (ein Dropdown-Menü) haben, nicht als Dropdown angezeigt. Wenn ich zu einer anderen Seite als meiner Startseite gehe, ist das kein Problem und alle Menüpunkte werden angezeigt.
Dies ist der Fall auf der Homepage sowohl für angemeldete als auch für abgemeldete Benutzer. Irgendwelche Ideen, wie das behoben werden kann? Danke.
http://www.viridianmgt.com/wordpress
WPBeginner Support
Scheint ein Theme-Problem zu sein. Kontaktieren Sie Ihren Theme-Support.
Admin
Wouter Bredenbeek
Nur die Änderung eines bestimmten Menüs kann durch Ändern von $args[‘menu’] = ‘logged-in’; in $args[‘secondary-menu’] = ‘logged-in’; erreicht werden. Das sollte funktionieren!
DANIEL
Dieser Code funktioniert nicht. Ich habe ein 'primary-menu' und ein 'secondary-menu' registriert und versuche, die bereitgestellte Funktion mit Ihrer Änderung der Argumente zu verwenden, aber es ändern sich keine Menüs.
Ich habe das mit diesem Code behoben:
function my_wp_nav_menu_args( $args = ” ) { if ($args[‘theme_location’] == ‘secondary-menu’) { if( is_user_logged_in()) { $args[‘menu’] = ‘logged-in’; }else{ $args[‘menu’] = ‘logged-out’; } }else{ $args[‘menu’] = ‘Principal’; } return $args; }
add_filter( ‘wp_nav_menu_args’, ‘my_wp_nav_menu_args’ );
HINWEIS: ‘ Principal ist der Name des primären statischen Menüs.
Rory PQ
So nah dran, sowohl mein Footer als auch meine Hauptmenüs ändern sich. Ich versuche nur, mein Footer-Menü zu ändern. Ich habe so viele Variationen dieses Codes ausprobiert, aber ohne Erfolg. Irgendwelche Lösungsansätze?
Als ich mein Theme mit Firebug inspizierte, sagte es, mein Footer sei „id=footer-nav“. Sollte ich diesen Namen anstelle von „secondary-menu“ verwenden?
Vielen Dank
lemonthirst
Hurra! Endlich gefunden, es ist mir nie in den Sinn gekommen, dass diese einfache Funktion meine Arbeit so erleichtern würde.
Danke Leute!
Grant
Wenn ich versuche, den Code in die functions.php-Datei einzugeben, erhalte ich folgende Fehlermeldung:
Parse error: syntax error, unexpected ’03’ (T_LNUMBER) in /home/grantkessler/public_html/wp-content/themes/GameNews/functions.php on line 201
Stevie Allison
Perfekt, genau das, was ich gesucht habe. Ich werde es jetzt ausprobieren. Danke
Stevie Allison
Es funktioniert perfekt. Danke
Alex
Vielen Dank für das Teilen des Codes, aber er fügt dieses Menü wirklich in allen Bereichen hinzu! Gibt es eine Möglichkeit, es nur in einem bestimmten Menü anzuzeigen?
shanewaj rahman
Danke,
Sie haben es so einfach gemacht.
zaman
Ich habe ein standortspezifisches Plugin erstellt und die Menüs funktionieren einwandfrei, aber mein Fußzeilenmenü wurde ebenfalls geändert. Es zeigt nicht das ausgewählte Menü, sondern das für angemeldete oder abgemeldete Benutzer.
WPBeginner Support
Zaman WordPress-Menüs haben zugewiesene Speicherorte. Stellen Sie sicher, dass Sie ein anderes Menü für den Footer-Menü-Speicherort verwenden.
Admin
Grant
Hallo, wenn ich versuche, den Code einzufügen, ruiniert er meine Seite komplett und gibt die Fehlermeldung aus:
function my_wp_nav_menu_args( $args = ” ) { if( is_user_logged_in() ) { $args[‘menu’] = ‘eingeloggt’; } else { $args[‘menu’] = ‘ausgeloggt’; } return $args; } add_filter( ‘wp_nav_menu_args’, ‘my_wp_nav_menu_args’ );
Warnung: Kann Header-Informationen nicht ändern – Header wurden bereits gesendet von (Ausgabe gestartet in /homepages/5/d156331781/htdocs/reviewthegame/wp-content/themes/Made-Theme/made/functions.php:12) in /homepages/5/d156331781/htdocs/reviewthegame/wp-includes/pluggable.php on line 899
joseph
Gibt es eine Möglichkeit, dies nur auf ein bestimmtes Menü anzuwenden?
Ich habe dies versucht:
if( $args->theme_location == ‘primary-menu’ ) {
//Code hier
}
aber es funktioniert nicht. Irgendwelche Ideen, wie man das erreichen kann?
shanewaj rahman
Dies ist, was ich getan habe, um das Problem mit zwei Menüs zu überwinden.
Ich habe diese Funktion entfernt und diesen Code in die header.php eingefügt
wo ich mein Menü aufgerufen habe.
false,
‘menu_id’ => ‘nav’,
‘menu’ => ‘Registriert’,
‘items_wrap’ => ‘%3$s’)
);
}
else
{
wp_nav_menu( array(‘container’ => false,
‘theme_location’ => ‘primary’,
‘menu_id’ => ‘nav’,
‘items_wrap’ => ‘%3$s’,
) );
}?>
Fransiska
Verwenden
if ($args[‘theme_location’] == ‘primary’)
stattdessen und es wird funktionieren
Gerald Tyler
Fransiska, können Sie Ihren Vorschlag weiter erläutern? Ich habe mehrere Untermenüs, die ich in Seitenleisten einfüge, und die Lösung auf dieser Seite macht all diese kurzen Menüs jetzt zu vollen Menüs mit all den Namen des primären Menüs, keines meiner verschiedenen benutzerdefinierten Menüs. Ihr Vorschlag klingt, als könnten wir diesen Trick nur auf die primäre Menüposition anwenden, nicht auf die Seitenleisten. Macht das Sinn? Können Sie den vollständigen Code bereitstellen? Ich habe kein Glück beim Raten, wie er zusammenpasst.
joseph
25. Okt. 2013 um 1:16 Uhr
Gibt es eine Möglichkeit, dies nur auf ein bestimmtes Menü anzuwenden?
Ich habe dies versucht:
if( $args->theme_location == ‘primary-menu’ ) {
//Code hier
}
aber es funktioniert nicht. Irgendwelche Ideen, wie man das erreichen kann?
Fransiska
31. Januar 2014 um 2:53 Uhr
Verwenden
if ($args[‘theme_location’] == ‘primary’)
stattdessen und es wird funktionieren
Jamie Mannion
Toller Tipp, das kam genau zum richtigen Zeitpunkt in meiner Website-Entwicklung.
Funktioniert super! Ich denke, ich werde das erweitern, um verschiedene Menüs für verschiedene Benutzerdaten anzuzeigen.
Danke fürs Teilen!
karen
Hallo, danke dafür, sehr hilfreich. Ich bin mir aber immer noch nicht sicher, wo ich den Code einfügen soll?
(Nachdem Sie die Menüs erstellt haben, fügen Sie diesen Code in die functions.php-Datei Ihres Themes oder ein standortspezifisches Plugin ein) – wo ist die functions.php-Datei?
Viele Grüße
WPBeginner Support
Gehen Sie zu Darstellung » Editor, Sie sehen die functions.php-Datei in der Liste der Dateien auf Ihrer rechten Seite. Wenn Sie jedoch keine functions.php-Datei dort sehen, bedeutet dies, dass Sie ein Theme-Framework oder ein Child-Theme verwenden. In diesem Fall müssen Sie ein sitespezifisches Plugin für Ihre Website erstellen und diesen Code in dieses Plugin einfügen. Sehen Sie sich unseren Leitfaden unter sitespezifisches Plugin an.
Admin
Cathy Earle
Toller Tipp. Ich freue mich darauf, ihn in einem zukünftigen Design zu verwenden.