Drei Lösungen für den Fall das man die Aufrufe bestimmter Unterseiten weiterleiten möchte, zum Beispiel: beim Aufruf eines Hauptmenüpunktes, soll man auf die erste Unterseite weitergeleitet werden.
Auf das folgende Szenario trifft man sehr häufig, wenn man besehende, seit Jahren gewachsene Websites in WordPress überführen soll. Beim Klick auf ein Menüpunkt in der Hauptnavigation öffnet sich direkt eine Unterseite.
Hier ein Beispiel: beim Klick auf den Hauptmenüpunkt Über uns öffnet sich nicht eine Übersichtsseite sondern direkt die Unterseite Unsere Leistungen.
Bei kleineren Websites, vor allem bei denen, wo die Änderungen nur selten vorkommen kann man sich "manuell" behelfen und in der jeweiligen Template-Datei des WordPress-Themes die Hauptnavigationspunkte hardcoden bzw. das dort benötigte HTML statisch einfügen.
Der Vorteil von statischen Ausgaben ist, dass sie schnell umgesetzt werden können und Ressourcenschonend sind. Ein Vorteil, den man nicht unterschätzen sollte.
Bei größeren Projekten und vor allem wenn an der Struktur häufig was ergänzt werden soll muss eine komfortablere Lösung her. eine Möglichkeit bietet folgende Lösung. Zuerst erstellt man ein Seiten-Template. Wie man Seiten-Templates in WordPress erstellt habe ich auf WordPress-Buch beschrieben.
In diese Seiten-Template-Datei, nennen wir sie z.B. weiterleitung.php, fügt man lediglich folgenden Code ein:
<?php
/*
Template Name: Auf erste Unterseite weiterleiten
*/
if (have_posts()) {
while (have_posts()) {
the_post();
$pagekids = get_pages("child_of=".$post->ID."&sort_column=menu_order");
$firstchild = $pagekids[0];
wp_redirect(get_permalink($firstchild->ID));
}
}
?>
[Der Code stammt von WpRecipies]
Anschließend die neue Template-Datei in den entsprechenden Themes-Ordner hochladen und nun kannst du den übergeordneten Seiten, die auf die untergeordneten weiterleiten sollen, dieses Template zuweisen.
WordPress wäre nicht WordPress, wenn es nicht auch dafür eine Plugin-Lösung gäbe. Eines der Plugins, die hier helfen können heißt Redirector.
Das Plugin integriert als zusätzliches Modul und beim Erstellen einer neuen Seite bzw. beim Bearbeiten einer bestehenden kann man dann die Weiterleitung einrichten. Wie man an Hand der Abbildung sehen kann kann man verschiedene Weiterleitungen erstellen:
Zu Not könnte man für solche Fälle auch die Menüfunktionalität (Design → Menü) von WordPress nutzen, vorausgesetzt dass wurde in dem jeweiligen Theme implementiert. Bei der Erstellung von individuellen Menüs kann man ebenfalls Menüpunkte erstellen und diese auch frei mit URLs füttern.
Aber in unserem konkreten Kundenprojekt war die Plugin-Lösung die komfortabelste Alternative.
Diesen Artikel weiterempfehlen oder später lesen:
auf Kindle (später) lesenHinweis:
WordPress 3.5 für Autoren & Redakteure (pdf)
Ausdruckbar, Volumenlizenzen zu sehr fairen Preisen.
1. – Ralf Hortt
Als ich den Beitrag im Feed gelesen hab dachte ich mir ich sollte auf mein Plugin (Redirector) hinweisen, dabei hast du es ja erwähnt. Vielen Dank dafür.
LG Ralf
2. – René
Wenn ich das mal vorher gewusst hätte, hätte ich bei 'nem Kundenprojekt nicht den kompletten Walker verwurschteln und etliche custom functions für Kindelemente coden müssen.
Danke für den Hinweis, bei der nächsten Anforderung dieser Art werde ich das Plugin mal ausprobieren.