Gehe zur ersten Kinderseite

Worum geht es? Siehe z.B. nebenstehendes Bild: Wenn man im Menü mit der Maus über die Kategorie „Politik“ fährt, öffnet sich ein Untermenü mit allen Seiten, welche zu dieser Kategorie gehören (Hover-Effekt). Gewünscht ist nun folgendes: Wenn man entweder „Politik“ oder „Politik: Übersicht“ (die erste Unterseite oder child page der Kategorie „Politik“)  anklickt, soll sich eine Übersichtsseite öffnen.

Es gibt verschiedene Wege, dies zu bewerkstelligen. Wir haben den folgenden Weg gewählt: Es wurden zwei Seiten angelegt: „Politik“ und „Politik: Übersicht“. „Politik: Übersicht“ ist dabei die erste Unterseite (child page) der Elternseite (parent page) „Politik“ . Dies erreicht man, indem man bei den Seiten-Attributen, Unterpunkt „Reihenfolge“, einen niedrigeren Wert einträgt als bei allen anderen Unterseiten von „Politik“. Ansonsten ist „Politik: Übersicht“ eine ganz normale Seite.

Nun zur Seite „Politik“. Hier wurde als Template „Go to first child“ ausgewählt. Ansonst kann diese Seite völlig leer sein. Denn das gewählte Template bewirkt, dass nicht diese Seite, sondern die erste Unterseite geöffnet wird, wann immer man diese Seite anwählt.

Damit das so funktioniert, muss das Template „Go to first child“ allerdings zunächst einmal erstellt werden. Und das geht wie folgt: Man öffne einen Texteditor und kopiere folgenden Code hinein:

<<?php
/*
Template Name: Go to first child
*/
//Ermittle, welche Child Pages die Seite besitzt
$pagekids = get_pages(„child_of=“.$post->ID.“&sort_column=menu_order“);
if ($pagekids) {
//Redirect zur Child Page mit der niedrigsten Kennnummer
$firstchild = $pagekids[0];
wp_redirect(get_permalink($firstchild->ID));
} else {
//Fall-back: Wenn die Seite keine Child Page besitzt, wird sie wie eine Standardseite behandelt
// (page.php ist das Standard-Seitentemplate)
include(get_template_directory() . ‚/page.php‘);
}
?>

Wichtig ist dabei die Kommentarzeile /*Template Name: Go to first child */. Denn daran erkennt WordPress, dass es sich um ein Template handelt, und wie das Template heißen soll. Nun speichert man die Datei unter einem aussagekräftigen Namen ab (z.B. template_gotofirstchild.php. Wichtig ist die Extension *.php) und speichere die Datei auf dem Server in der Hauptseite des benutzten WordPress Themes (wp-content/themes/name des themes/, oder im Unterverzeichnis wp-content/themes/name des themes/page-templates/). Und das wars: Jetzt kann man bei den Seiten-Attributen das Template „Go to first child“ auswählen.

Was können wir für Sie tun?