Neulich habe ich mir, mit dem tollen Plugin cforms eine Kontaktseite erstellt und für Diese als übergeordnete Seite mein Impressum gewählt. Aber damit hatte ich das Problem, dass diese Kontakt-Seite nicht mehr im Seitenmenü aufscheint – eh klar, wäre ja zu einfach gewesen. Mehr mit Glück als mit meinen sehr beschränkten PHP-Kenntnissen fand ich die eine Lösung. Das folgende Codeschnipserl muss in der Datei sidebar.php direkt nach <div id="sidebar">
eingefügt werden.
- <?php
- if (wp_list_pages(“child_of=”.$post->ID.”&echo=0″)) { ?>
- <ul>
- <?php
- wp_list_pages(“title_li=&child_of=”.$post->ID.”&
title_li=<h2>Submenü</h2>”); ?> - </ul>
- <?php } ?>
Diese Lösung hat den Vorteil, dass nur dann eine Seitenliste (Submenü) angezeigt wird wenn tatsächlich Unterseiten existieren. Es liegen also keine leeren <ul>
-Tags im Quelltext herum die im Validator einen roten Balken erzeugen. Sogar die Überschrift des Submenüs erscheint nur bei Bedarf!
Für eine Live-Demo braucht ihr nur mein Impressum aufrufen (siehe Submenü rechts oben). Als Gegenprobe klickt ihr auf Plugins – kein Submenü und sauberer Quelltext! 🙂
Selbstverständlich kann man auch die Sortierreihenfolge ändern, Erstellungsdatum hinzufügen, bestimmte Seiten ausschließen uvm. (siehe Weiterführende Links)
Weiterführende Links
- ID von statischen Seiten ändern
- Template Tags
Ich wünsche euch noch viel Spaß und vor allem Erfolg