Der Link zum Impressum

Im vorhergehenden Blogbeitrag habe ich das Impressum für dieses Weblog gepostet. Natürlich ist das nicht die übliche Weise für ein Impressum. „Ein Impressum muss selbstverständlich schnell zu finden und leicht zu erkennen sein.“ (Wikipedia).
Das ist ist bei einem Blogbeitrag, also einem Artikel, nicht fortwährend der Fall. Üblicherweise befindet sich ein Impressum oder ein Link zum Impressum am Ende einer Website oder auch mal noch in der Sidebar, innerhalb der Blogbeiträge wird allerdings selten jemand nach den Kontaktdaten suchen. Kurz gesagt, eine statische Seite muss her.

Statische Seiten in WordPress Backend anzulegen funktioniert natürlich genauso komfortabel wie ein Blogposting zu schreiben, wie aber füge ich eine Seite meinem Theme hinzu? Folgend also ein paar Möglichkeiten einen einzelnen Link zu einer statischen Seite anzeigen zu lassen.

a href=“http://beispiel.de/impressum“

Das ist natürlich die „einfachste“ Lösung, hat allerdings einen Nachteil. Wenn es keine Seite namens Impressum gibt, habt ihr einen toten Link auf der Seite. Solltet ihr ausserdem mal gezwungen sein auf die „nice permalinks“ zu verzichten, wird die gewünschte Seite auch nicht erreicht. Für einen einzelnen Link zum Impressum mag es mal noch gehen, es gibt aber elegantere Lösungen.

<a href="http://beispiel.de/impressum">Impressum</a>

wp_list_pages( $args )

Dieses Template Tag gibt es schon seit WordPress Version 1.5. Für den einzelnen Link, kann man die ID einer statischen Seite über das Argument include=ID hinzufügen. Da die Ausgabe standartmäßig als Liste erfolgt, wir aber blos den nackschen Link haben wollen, ergänzen wir ausserdem title_li=. Alle weiteren Argumente sind im WordPress Codex nachzulesen.

<?php wp_list_pages('include=4&title_li='); ?>

wp_page_menu( $args )

Dieses Template Tag ist in Version 2.7 neu hinzu gekommen und orientiert sich mehr an der Aufgabe ein Hauptmenu zu generieren. Erkennen kann man das an der Möglichkeit direkt über show_home=1 einen „Home“ Link hinzuzufügen und natürlich verrät es auch der Name. Um eine einzelne Seite auszugeben, ergänzen wir die Argumente wieder mit include=ID. Eine umfangreiche Beschreibung zu wp_page_menu() findet sich bei Simon auf webdemar.com.

<?php wp_page_menu('include=4'); ?>

get_page_by_title( $args )

Auf Webdemar.de habe ich eine Lösung gefunden, die den genannten Anforderung am besten gerecht wird. Über get_page_by_title() wird die ID einer statischen Seiten anhand des Seitentitels ermittelt. Die ID wird dann wiederum genutzt um über get_permalink( $id ) die URL zur gewünschten Seite zu bekommen. Das folgende Beispiel prüft ausserdem, ob eine Seite gefunden wurde. Ist das nicht der Fall wird nichts ausgegeben. In seinen Artikel beschreibt Simon noch weitere Anwendungsmöglichkeiten.

<?php
$seite = get_page_by_title( 'Impressum' );
if($seite) {
?>
	<a href="<?php echo get_permalink($seite->ID); ?>">
		Impressum
	</a>
<?php } ?>

ab WordPress 3.0

Im Entwicklerblog von WordPress wurde ein Page Menu User Interface als neues Feature in der Version 3.0 angekündigt. Ähnlich wie bei den Widgets kann man sich dabei ein Menu mittels Drag&Drop zusammenstellen. Für diejenigen, die sich ihr Blogtheme selbst schrauben ist das sicherlich nur zusätzlicher Ballast, für Theme-Entwickler ist das aber sicher ein nützliches Werkzeug Themes noch flexibler zu gestalten.