Skip to content

Alles für WordPress, Webentwicklung — und mehr

🔗 So fügst du einen Home-Link zum WordPress-Menü hinzu

🔗 So fügst du einen Home-Link zum WordPress-Menü hinzu

Ein Navigationsmenü ohne einen Link zur Startseite ist wie eine Haustür ohne Klinke. Ein Besucher landet über die Suche auf einer internen Seite, liest den Inhalt… und hat keine Ahnung, wo er klicken soll, um zur Startseite zu gelangen. Das Logo im Header hilft nicht immer; manche Nutzer suchen instinktiv direkt im Menü nach einem Eintrag „Home".

Vor Version 3.0 bot WordPress im Standard-Menüeditor keine solche Option, sodass Sie entweder den Code bearbeiten oder manuell einen benutzerdefinierten Link hinzufügen mussten. Jetzt ist alles einfacher: Mit wenigen Klicks ist der Home-Link an Ort und Stelle. Und wenn Sie Entwickler sind oder ein Theme anpassen, gibt es den Filter wp_nav_menu_items, der die Aufgabe mit einer einzigen Funktion löst.

Nachfolgend finden Sie beide Methoden: eine visuelle für reguläre Nutzer und eine programmatische für diejenigen, die mit Code arbeiten. Außerdem behandeln wir, wann der Link aktualisiert werden muss und was zu tun ist, wenn er plötzlich verschwindet.

💡 Kurzüberblick:

  • Fügen Sie einen Home-Link zum WordPress-Menü über das Admin-Panel in weniger als einer Minute ohne Plugins hinzu.
  • Fügen Sie den Link programmatisch mit dem wp_nav_menu_items-Filter in der functions.php des Themes hinzu.
  • Überprüfen und aktualisieren Sie die URL nach einem Domainwechsel oder der Umstellung auf HTTPS.

Methode 1: über das WordPress-Admin-Panel

Diese Methode funktioniert mit WordPress 3.0 und neuer, also auf jeder modernen Website. Es sind keine Plugins oder Code-Änderungen erforderlich.

Melden Sie sich im Admin-Panel an und navigieren Sie zu Design → Menüs. Auf der linken Seite sehen Sie Blöcke: „Seiten", „Beiträge", „Benutzerdefinierte Links" und weitere, abhängig von installierten Plugins und Inhaltstypen.

Klicken Sie im Block Seiten auf den Tab Alle (oder „Alle anzeigen" in älteren Versionen). Der allererste Eintrag ist eine Seite mit dem Namen „Home". Aktivieren Sie das Kontrollkästchen und klicken Sie auf Zum Menü hinzufügen.

Seiten-Block im WordPress-Menü-Editor mit dem Startseite-Eintrag

Sobald der Eintrag hinzugefügt wurde, erscheint er in der Menüstruktur auf der rechten Seite. Ziehen Sie ihn an die gewünschte Position; üblicherweise wird er an den Anfang oder ans Ende gesetzt. Speichern Sie das Menü mit einem Klick auf Menü speichern, und der Home-Link wird auf Ihrer Website live geschaltet.

Standardmäßig verwendet WordPress für diesen Eintrag die direkte URL der Startseite (zum Beispiel https://vash-sait.ru/). Das sollten Sie sich merken: Wenn Sie die Website später auf eine andere Domain umziehen oder von HTTP auf HTTPS wechseln, behält der Link die alte Adresse. Sie müssen dann den Menüeditor öffnen und die URL manuell korrigieren oder den Eintrag löschen und erneut hinzufügen (WordPress fügt dann automatisch die aktuelle Adresse ein).

Methode 2: programmatische Ergänzung über einen Filter

Wenn Sie ein individuelles Theme entwickeln oder möchten, dass der Home-Link bei der Theme-Aktivierung automatisch hinzugefügt wird, nutzen Sie den wp_nav_menu_items-Filter. Er fängt das HTML der Menüeinträge vor der Ausgabe ab und erlaubt Ihnen, ein eigenes Element einzufügen.

Platzieren Sie den Code in der functions.php des aktiven Themes (oder eines Child-Themes, damit Sie Änderungen bei einem Update nicht verlieren). Eine Alternative ist das Plugin Code Snippets: Sie legen ein Snippet an, fügen den Code ein und aktivieren es; die Änderungen sind dann unabhängig vom Theme.

Code Snippets-Plugin-Seite in WordPress
1/**
2 * Adds a "Home" link to the main WordPress menu.
3 *
4 * @param string $items HTML markup of menu items.
5 * @param object $args wp_nav_menu() arguments.
6 * @return string
7 */
8function sdstudio_add_menu_home_link( $items, $args ) {
9 // Target menu location — replace 'main' with your own value
10 if ( 'main' !== $args->theme_location ) {
11 return $items;
12 }
13
14 $home_link = sprintf(
15 '<li class="menu-item"><a href="%s">%s</a></li>',
16 esc_url( home_url( '/' ) ),
17 esc_html__( 'Home', 'textdomain' )
18 );
19
20 // The link is added first — put $items . $home_link if you need it last
21 $items = $home_link . $items;
22
23 return $items;
24}
25add_filter( 'wp_nav_menu_items', 'sdstudio_add_menu_home_link', 10, 2 );

Der entscheidende Parameter ist 'main' in der if-Bedingung. Dies ist der Slug des Menübereichs (Theme Location), der von der Funktion register_nav_menu() im Theme registriert wurde. Ihren Slug finden Sie in der functions.php des Themes: Suchen Sie nach dem Aufruf von register_nav_menu() oder register_nav_menus() und prüfen Sie das erste Argument. Meistens lautet es primary oder main.

Die Funktion ist sicher: esc_url() bereinigt die URL und esc_html__() bereinigt den Linktext und unterstützt gleichzeitig die Übersetzung. Wenn Sie ein Child-Theme verwenden, ersetzen Sie 'textdomain' durch die Textdomain Ihres Themes.

Nachdem Sie den Code eingefügt haben, aktualisieren Sie die Website und der Home-Link erscheint automatisch im Menü. Sie müssen ihn nicht manuell entfernen: Kommentieren Sie einfach den add_filter()-Aufruf aus oder löschen Sie ihn, und alles kehrt in den ursprünglichen Zustand zurück.

Ein über das Admin-Panel hinzugefügter Home-Link speichert eine fest codierte URL, nämlich die, die zum Zeitpunkt des Hinzufügens in den Website-Einstellungen hinterlegt war. Drei häufige Szenarien, in denen er nicht mehr funktioniert:

  • Umstellung von HTTP auf HTTPS. Der Menüeintrag verweist weiterhin auf http://..., Browser zeigen möglicherweise eine Warnung zu gemischtem Inhalt an oder die Weiterleitung schlägt fehl. Lösung: Öffnen Sie den Menüeditor, löschen Sie den alten „Home"-Eintrag und fügen Sie ihn erneut hinzu; WordPress setzt dann die aktuelle https://-URL ein.

  • Änderung der Domain. Wenn eine Website von einer Entwicklungsumgebung in den Produktivbetrieb überführt wird (staging.site.rusite.ru) oder auf eine völlig neue Domain umzieht. Der Menüeintrag behält die alte URL. Lösung: wie oben beschrieben (löschen und erneut hinzufügen).

  • Umzug aus einem Unterverzeichnis ins Stammverzeichnis. Wenn die Website von site.ru/blog/ nach site.ru/ umzieht, funktionieren alle fest codierten Links nicht mehr. Gehen Sie nach der Migration ALLE Menüeinträge durch, nicht nur den Home-Link.

Die programmatische Methode (via wp_nav_menu_items) kennt diese Probleme nicht: home_url('/') liefert immer die aktuelle Startseiten-Adresse aus den WordPress-Einstellungen.

Übrigens: Wenn Sie häufig mit Menüs arbeiten, sehen Sie sich die Navigationseinstellungen unter Design → Customizer an, wo Sie Menüs in Echtzeit mit einer Live-Vorschau verwalten können. Für erweiterte Bearbeitungen (Hinzufügen von Icons zu Einträgen, Mega-Menüs) gibt es spezielle Werkzeuge, aber das ist ein Thema für einen anderen Artikel.

Video: Home-Button in 2 Minuten hinzufügen

Wenn Sie lieber zuschauen als lesen, hier ein kurzes englischsprachiges Video mit einer Schritt-für-Schritt-Demonstration am Bildschirm:

⁉️🤔 Häufig gestellte Fragen

Kann ich einen Home-Link ohne Plugins oder Code hinzufügen?

Ja, über den standardmäßigen WordPress-Menüeditor: Design → Menüs → Block Seiten → „Home" ankreuzen → Zum Menü hinzufügen. Dies ist eine Kernfunktion, die seit Version 3.0 verfügbar ist.

Warum ist der Home-Link nach einem Theme-Wechsel aus dem Menü verschwunden?

Menüs in WordPress sind an Menübereiche (Theme Locations) gebunden, die vom Theme registriert werden. Wenn Sie das Theme wechseln, verschwinden die alten Bereiche und die neuen haben möglicherweise andere Namen. Ihr Menü ist nicht verloren gegangen; es wurde lediglich „nicht zugewiesen". Gehen Sie zu Design → Menüs → Tab Positionen verwalten und weisen Sie das vorhandene Menü einem Bereich des neuen Themes zu. Alle Einträge, einschließlich des Home-Links, kehren zurück.

Das Menü hat bereits einen „Home"-Eintrag, aber er führt zu einer bestimmten Seite und nicht zur Stamm-URL der Website. Wie behebe ich das?

Höchstwahrscheinlich wurde eine spezifische Seite mit dem Titel „Home" anstelle des speziellen Typs „Startseite" zum Menü hinzugefügt. Entfernen Sie diesen Eintrag aus dem Menü, suchen Sie dann im Block Seiten den Eintrag mit der Bezeichnung „Startseite" (WordPress kennzeichnet ihn gesondert) und fügen Sie ihn hinzu. Falls es keine solche Bezeichnung gibt, nutzen Sie „Benutzerdefinierte Links": Geben Sie im URL-Feld / ein und im Feld „Linktext" „Home".

Wie füge ich den Home-Link als letzten statt als ersten Menüpunkt hinzu?

Bei der programmatischen Methode vertauschen Sie die Reihenfolge der Verkettung: Schreiben Sie statt $home_link . $items einfach $items . $home_link. Im visuellen Editor ziehen Sie den „Home"-Eintrag einfach per Drag & Drop ans Ende der Liste und speichern das Menü.

Ist es notwendig, esc_url() und home_url() im Code zu verwenden?

Ja, das ist WordPress-Best-Practice. home_url('/') fügt dynamisch die aktuelle Website-Adresse aus den Einstellungen ein, sodass Sie den Code bei einem Domainwechsel nicht bearbeiten müssen. esc_url() maskiert Sonderzeichen und schützt vor XSS-Angriffen. Auf die Bereinigung im Produktivcode zu verzichten, ist riskant.

Funktioniert die Code-Methode in einer WordPress-Multisite-Installation?

Ja, home_url( '/' ) gibt in einer Multisite die URL der jeweiligen Website innerhalb des Netzwerks zurück (die in den Einstellungen dieser Sub-Site angegebene). Jede Website im Netzwerk erhält ihren eigenen Home-Link. Wenn Sie für verschiedene Websites ein unterschiedliches Verhalten benötigen, verpacken Sie den add_filter()-Aufruf in eine Bedingung, die die Blog-ID über get_current_blog_id() prüft.

Prüfen Sie zuerst das Offensichtliche: Haben Sie das Menü nach dem Hinzufügen des Eintrags tatsächlich gespeichert? Die Schaltfläche „Menü speichern" befindet sich unten auf der Seite; ohne Klick darauf werden die Änderungen nicht übernommen. Wenn das Menü gespeichert ist, der Eintrag aber fehlt, öffnen Sie die Website im Inkognito-Modus (der Browser-Cache verbirgt manchmal aktuelle Änderungen).

Die zweite wahrscheinliche Ursache ist ein Caching-Plugin (WP Rocket, W3 Total Cache, LiteSpeed Cache). Leeren Sie den Cache über das Admin-Panel des Plugins und überprüfen Sie die Website erneut.

Wenn das nicht hilft, wechseln Sie das Theme vorübergehend zu einem Standard-Theme (Twenty Twenty-Five oder Twenty Twenty-Six). Erscheint der Eintrag? Dann liegt das Problem am individuellen Theme; dessen wp_nav_menu()-Funktion könnte überschrieben und Filter entfernt worden sein. Überprüfen Sie den wp_nav_menu()-Aufruf im Theme-Template: Das Argument 'items_wrap' sollte kein leerer String sein und 'fallback_cb' sollte nur dann false sein, wenn Sie den Fallback bewusst deaktivieren.

Der Code aus „Methode 2" funktioniert mit jedem Theme, solange die theme_location korrekt ist; er dient als Absicherung, falls die visuelle Methode aus irgendeinem Grund versagt.

Ein Home-Link im Menü ist ein kleines Detail, das Vertrauen schafft. Ein Besucher, der über die Suche auf einer internen Seite landet, findet im Bruchteil einer Sekunde den Weg zurück zum Ausgangspunkt und erkundet die Website weiter. Ohne diesen Link wird ein Teil Ihrer Zielgruppe den Tab einfach schließen. Zwei Minuten im Menüeditor oder zehn Zeilen Code, und dieser Einstiegspunkt geht nie wieder verloren.