Sidebar
ein-/ausblenden

WordPress title-Tag zerlegen

Plugin für WordPress SEO

Anzeige

In dieser Serie stelle ich einige kleine einfache Tipps vor, die mehr Möglichkeiten in der Gestaltung des Themes unter WordPress zulassen.
Im heutigen Beitrag soll der Title des Beitrags/der Seite zerlegt werden, in jedes einzelne Wort, und mit einem span-Tag jeweils erweitert wieder ausgegeben werden.

Diesen Aufwand betreiben wir, weil jedes Wort der Überschrift anders gestaltet werden soll. Aktuell kann man sich diese Lösung auf sajonara.de ansehen.

In diesem Zusammenhang der Hinweis, aktuell verlost Sajonara 12 lesenswerte Bücher, das Mitmachen lohnt sich, ich habe bereits 5 Exemplare der zur Verfügung stehenden Bücher gelesen.

Titel mit Format

Im ersten Schritt habe ich dazu eine Funktion erstellt, den Title in die Wörter zerlegt und die einzelnen Wörter innerhalb eines span-Tag mit entsprechender Klasse ausgibt. Diese Klasse bekommt zusätzlich eine Nummer, so dass jedes Wort eine eigene Klasse hat.
Diese Lösung kann man beliebig verändern oder erweitern, ein einfaches und nachvollziehbares Beispiel könnte wie folgt aussehen.


function fb_format_title($content) {

	$words = explode(' ', $content);
	$x     = count($words);
	if ($x >= 3) {

		$content = '';
		$i = 0;
		foreach($words as $word) {
			$content .= '' . $word . ' ';
			$i ++;
		}

	} else {
		$content = $content;
	}

	echo $content;
}

Diese Funktion wird in die functions.php des WordPress-Themes abgelegt. Dadurch steht sie im Theme-Umfeld zur Verfügung und kann beliebig eingesetzt werden. Die Funktion ist absichtlich so konzipiert, dass sie nicht in den WordPress-Standard Template Tag the_title() eingreift, denn in Beispielfall soll der Titel nur bei bestimmten Artikeln so ausgegeben werden.

Die Funktion implementiere ich dann im Theme, beispielsweise innerhalb des h2-Tag.


<?php if (function_exists('fb_format_title')) { fb_format_title(get_the_title()); } else { the_title(); } ?>

Mit Hilfe der erzeugten Klassen kann man dann auf jedes Wort zugreifen und ein eigenes Format im Stylesheet ablegen. Das kann man beliebig weit und unterschiedlich schachteln, ein Beispiel soll es verdeutlichen und Einsteigern das Spielen vereinfachen.


.post .word0, .post .word6, .post .word8 {
color: #333;
padding: 0 10px;
}

.post .word1, .post .word4, .post .word9 {
background:#bbb;
color: #fff;
padding: 0 10px;
}

.post .word2, .post .word5, .post .word10 {
color: #76BAFC;
padding: 0 10px;
}

Die Lösung ist einfach und so hoffe ich, nachvollziehbar. Sie ist sicher nicht der Weisheit letzter Schluss, denn man muss so zum Beispiel viele Klassen formatieren. Alternativ könnte man die Funktion erweitern, beispielsweise um einen Counter und nur drei Klassen vergeben. Aber dazu will ich hier keine Lösung beriet stellen, sondern mir liegt es am herzen, dass die Idee dargestellt wird und der Anwender Spaß am Tüfteln hat, denn dass hat mit die Freude an WordPress und dem Webdesign gegeben. Viel Spaß mit der gezeigten Lösung und freue mich auf Erweiterungen und Verbesserungen.

4 Kommentare zu „WordPress title-Tag zerlegen“

  1. 1
    Kommentar von RuckiZucki

    Habe mal eine Frage:
    Ich würde gern einen 2-zeiligen Titel haben. Klar, es wird automatisch umgebrochen. Will ich aber nicht, sondern ich möchte 2 Zeilen zur Verfügung haben. Bislang habe ich es einfach so gelöst, dass ich an der Stelle eingegeben habe, wo umgebrochen werden soll. Hat aber einige Nachteile, beispielsweise bei Sitemap-Generatoren, die schreiben dann "br" als Text rein.
    Was für eine Lösung könnte es denn für mein Vorhaben geben?

  2. 2
    Kommentar von Frank Bültge

    Du könntest via PHP den Titel zerlegen, ich das mal an einem Beispiel gezeigt, siehe Artikel WordPress title zerlegen

  3. 3
    Kommentar von jwqlb

    hallo frank,

    danke für deine arbeit.
    könntest du bitte die problemlösung für ruckizuckis anfrage für mich als newbie mal exemplarisch darlegen.
    würde mich sehr freuen.

  4. 4
    Kommentar von Frank Bültge

    Besser ist es wohl, wenn man via CSS die Breite festlegt und damit automatisch umbrechen läßt. Ich weis nicht, wie man via Trennung das sauber hinbekommen will, ohne die Nutzung durch den Leser zu stören.

Kommentar schreiben

Kommentarregeln: Bleib cool, kritisch ist in Ordnung, aber wenn du unhöflich bist, dann lösche ich deinen Kommentar. Bitte benutze deinen persönlichen Namen oder Initialen und nicht den Namen eines Unternehmens, dies würde als Spam gewertet und wird gelöscht. Der Zusammenhang zwischen Namen und URL sollte nicht offensichtlich auf Spam hindeuten! ♥ Ansonsten, vielen Dank für den Kommentar und viel Spaß mit meinem Blog.

Kommentar-Hilfe

händischer Spam:
Beachte die Kommentarregeln, jede Form von versuchtem Spam wird gelöscht. Warum und wieso steht in einem meiner Beiträge.

Bezug auf Textstellen:
Du kannst direkt bezug auf Textstellen im Beitrag nehmen. Dazu muss lediglich der Bereich im Artikel markiert werden; daraufhin erscheint ein Button, der den markierten Text in das Kommentarfeld übernimmt und als Zitat auszeichnet. Die Funktion ist nur bei aktivem JavaScript nutzbar.

xHTML:
Du kannst folgende Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <blockquote cite=""> <code> <pre> <em> <strong> <strike> <ul> <ul> <li>

Achte darauf, wenn du Code im Kommentar hinterlegen willst, dann muss der Code maskiert sein. Dann wird er nicht interpretiert. Der Code muss mit Hilfe von HTML-Entities dargestellt werden, d.h. dass man z.B. < als &lt; und > als &gt; einfügt.

E-Mail-Benachrichtigung bei neuen Kommentaren ?
Wenn der Haken in der Checkbox gesetzt ist, dann wirst du über neue Kommentare vie E-Mail informiert. Der Versand erfolgt nur, wenn du die URL in der Bestätigungs-E-Mail genutzt hast oder schon Abonnent hier im Blog bist.

Kommentar erscheint nicht:
Alle Kommentare werden manuell geprüft, freigegeben und nach Möglichkeit beantwortet. Bitte um etwas Geduld und Nachsicht.

Identifikationsbilder (Avatare):
Auf Gravatar.com kann man sich mit seiner E-Mail-Adresse registrieren und ein Bild hochladen, dann erscheint dieses Gravatar hier und in vielen weiteren Blogs.

Spamschutz:
Das Kommentarformular ist mit einem Spamschutz ausgerüstet. Solltest du diesen Artikel ohne JavaScript besuchen und kommentieren wollen, so muss du die Frage beantworten und das jeweilige Wort in das Textfeld eingeben.