WordPress & Webwork - perun.net



WordPress: unterschiedliche Titel für gleiche Seite

Perun am 25. 08. 2010 um 13:13 Uhr

WordPress: alternativer Titel Nehmen wir mal an, man überführt eine recht umfangreiche statische Website nach WordPress. Die Website hat viele Unterseiten und auf den einzelnen Unterseiten sind die Überschriften lang. Lang sind die deswegen, weil meiner Meinung nach eine Überschrift keine Zierde ist, sondern eine starke Aussagekraft haben muss und wenn es geht schon die Kernaussage der Unterseite bzw. eines Artikels in sich tragen sollte.

Bei WordPress bekommt man dabei ein Problem, weil die Überschrift bei sprechenden Permalinks gleichzeitig in der URL abgebildet wird. Das ist aber ein vergleichsweise kleines Problem, da man die URL, so bald sprechende Permalinks aktiviert sind, schon bei der Erstellung des Artikels/Seite komfortabel verändern kann.

Das größere Problem ist die Tatsache, dass wenn man die Pages automatisch in der Navigation ausgeben möchte, der Titel bzw. die Hauptüberschrift auch als Menüpunkt ausgegeben wird.

Je nach dem, wie lang die Überschrift ist, schaut es komisch in der Seitenleiste aus und bei einer horizontalen Navigation ist dann auch sehr schnell Schluss, weil nur wenige Menüpunkte rein passen.

Die neue Menü-Funktion aus WordPress 3.0 könnte hier eine Lösung sein. Da man hier den einzelnen Navigationselementen individuelle Menünamen vergeben kann … unabhängig von der Hauptüberschrift.

Aber ich persönlich finde die Idee der neuen Funktion zwar nett, sie ist aber noch lange nicht ausgereift. Die Erstellung von Menüs ist zumindest in meinen Backends sehr langwierig und imho umständlich. Nicht zu unterschätzen ist, dass die neue Menü-Funktion ganz gewaltig an der Datenbank saugt und ordentlich viele Abfragen produziert. Siehe dazu den Artikel von Michael Preuß. Ich habe es auch vorhin noch einmal getestet: nur zwei Menüpunkte der neuen Funktion verursachen sieben zusätzliche DB-Anfragen.

In meinem speziellen Beispiel wäre der Einsatz der neue Menüfunktion eh nicht hilfreich gewesen, da ich u. a. die Unterseiten nur anzeigen wollte wenn man sich auf entsprechenden Eltern- und Geschwister-Seiten befindet. Dafür gibt es zwar Plugins wie z. B. Flexi Pages, aber auch hier hat man das Problem, dass die Überschrift automatisch übernommen wird.

Anzeige:
Amazon.de Geschenkgutscheine:
auch in letzter Minute ein perfektes Geschenk, div. Motivbeispiele

Die Lösung des Problems

Die Lösung des Problems ist recht einfach und so habe ich es auch bei dem Relaunch von Faszination Tolkien gemacht. Ich habe mich der Hilfe der benutzerdefinierten Felder bedient. Die Template-Dateien, die für die Ausgabe der Seiten zuständig sind, also page.php und die Seiten-Templates, habe ich folgendermaßen angepasst:

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <?php $alternativ_titel = get_post_meta($post->ID, 'alternativ_titel', true);
    if ($alternativ_titel) { ?>
    <h2 class="storytitle"><?php echo $alternativ_titel; ?></h2>
    <?php } else { ?>
    <h2 class="storytitle"><?php the_title(); ?></h2>
    <?php } ?>

Der Code bewirkt folgendes: wurde der benutzerdefinierte Feld "alternativ_titel" gesetzt bzw. mit einem Wert belegt, dann wird im Frontend nicht die "normale" Überschrift ausgegeben sondern der Inhalt des benutzerdefinierten Feldes. Der Titel bzw. die Hauptüberschrift ist zwar für den Besucher unsichtbar, aber im System dennoch vorhanden und für die automatische Ausgabe der Pages (z. B. via wp_list_pages();) verfügbar.

Also einfach bei Bedarf, den kürzeren Titel da eintragen, wo man es immer macht:

WordPress: kurzer Titel

Die kurze Hauptüberschrift

Und die längere, aussagekräftigere Überschrift im benutzerdefinierten Feld:

WordPress: längerer Titel

Die längere Überschrift

Und das Ergebnis schaut dann so wie in der folgenden Abbildung aus:

WordPress: unterschiedliche Titel

Das Ergebnis unterschiedlicher Hauptüberschriften

Diesen Artikel weiterempfehlen:

Premium WordPress Themes

Verwandte Artikel:

 — 


2 Kommentare »»

  1. 1.Michael

    Kommentar vom 19. December 2010 um 19:45

    Erst mal danke für diesen COde, genau das was ich gesucht habe und es funktioniert wie beschrieben. Hab ihn direkt eingebaut und alles sah super aus.

    Leider sorgt dieser code nun (einige stunden danach) bei mir dafür, dass die Sidebar nun am ende der seite eingefügt wird.Hast du vielleicht eine Idee woran es liegen könnte?

  2. 2.Sebastian Pertsch

    Kommentar vom 27. July 2011 um 14:45

    Klasse Idee, mich würde allerdings noch eine Ergänzung interessieren: Eine Art Zufallsgenerator, der zwischen der "richtigen" Überschrift und der Meta-Angabe (gerne auch von mehreren Feldern) switcht.

Hinweis:
WordPress 3.3 für Autoren & Redakteure (pdf)
Ausdruckbar, Volumenlizenzen zu sehr fairen Preisen.

Einen Kommentar hinterlassen




XHTML (folgende Tags sind erlaubt): <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> . Kommentar-Vorschau ist aktiviert (Javascript wird benötigt).

Code-Beispiele: damit die Code-Beispiele richtig angezeigt werden müssen die Sonderzeichen maskiert werden (z. B. < zu &lt;).



Weblog der perun.net webwork gmbh mit Artikeln zum Thema WordPress, Webwork, und Internet.