Wir haben natürlich nicht für alles eine Lösung. Aber an Problemen, über welche wir selber schon gestolpert sind, müssen sich andere ja nicht auch noch die Zähne ausbeissen.

Wird WordPress in Form eines CMS benutzt, können beliebige Seiten angelegt werden, welche dann in der Navigation der Webseite angezeigt werden. Der Titel dieser Seiten wird an zwei verschiedenen Stellen ausgegeben – zum einen in der Navigation der Seite und zum andern als Seitenüberschrift (H1-Tag), wenn man die entsprechende Seite aufruft. Es kann nun sein, dass man für diese zwei Titel unterschiedliche Begriffe verwenden möchte. Als Beispiel: Auf der Webseite einer Internet-Agentur soll in der Navigation „Webdesign“ als Navigationspunkt erscheinen, und auf der Seite soll der Seitentitel „Willkommen im Bereich Webdesign“ zu sehen sein (welches für die Anzeige in der Navigation eindeutig zu lange ist).

Mit oder ohne Plugin

Natürlich gibt es in WordPress für fast jedes Problem ein passendes Plugin, aber es gibt auch Probleme, die ohne ein zusätzlich Hilfsmittel gelöst werden können. Wenn dies der Fall ist, ziehe ich eine solche Lösung immer vor. Ich möchte deshalb kurz beschreiben, wie die Titel mit wenig Aufwand separiert werden können.

Der Ansatz: Benutzerdefinierte Felder

In der Eingabemaske, in der man die Seite erstellt, gibt es unterhalb des Texteditors den Bereich „Benutzerdefinierte Felder“. Hier können für die jeweilige Seiten Namen- und Werte-Paare eingegeben werden, welche dann in den Template-Files abgefragt werden können. Für unseren Zweck können wir also beispielsweise den Namen „seitentitel“ verwenden. Dafür wählt man den Punkt „Neu eingeben“, schreibt als Variablennamen wie erwähnt „seitentitel“, und definiert als Wert die gewünschte Überschrift für die Seite (hier z.B. „Willkommen im Bereich Webdesign“).

Benutzerdefinierte FelderBenutzerdefinierte Felder

Nun muss nur noch eine kleine Anpassung am Seitentemplate gemacht werden, welches die Seiten ausgibt. Diese kann je nach Theme etwas anders heissen, häufig wird sie aber mit page.php benannt sein. In diesem File sucht man die Stelle, wo die Überschrift ausgegeben wird. Diese könnte z.B. so aussehen:

 <h2><?php the_title(); ?></h2>

Diese wird jetzt in der folgenden Form abgewandelt:

<h2> 
<?php 
$titel = get_post_meta($post->ID, "seitentitel", true); 
if ($titel) { 
echo $titel; 
} else { 
the_title(); 
} 
?> 
</h2> 

Hier wird also zuerst der Wert des benutzerdefinierten Feldes abgefragt. Ist dieses vorhanden, wird es anstelle des Seitentitels verwendet. Falls nicht, wird wie vorher die Variable „the_title()“ verwendet.

Share This