Für Menschen · Seien Sie begeistert und Sie werden begeistern !
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.

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.
bueltge.de [by:ltge.de] wird von Frank Bültge geführt, administriert und gestaltet. Alle Inhalte sind persönlich von mir ausgewählt und erstellt, nach bestem Gewissen und Können, was die Möglichkeit von Fehlern nicht ausschließt.
Das Weblog wird angetrieben von WordPress und aktuell gibt es 980 Beiträge, 18722 Kommentare in 14 Kategorien und 464 Tags.
Das Blog wird liebevoll mit xHTML & CSS in Handarbeit gestaltet. Erstellt mit ♥ zum Befüllen und Erhalten.
Design und Code ist unter Copyright
© 2001 - 2012 bueltge.de [by:ltge.de]
9. Oktober 2008 um 17:22
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?
9. Oktober 2008 um 18:58
Du könntest via PHP den Titel zerlegen, ich das mal an einem Beispiel gezeigt, siehe Artikel WordPress title zerlegen
15. April 2009 um 18:43
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.
18. April 2009 um 11:35
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.
6. Mai 2011 um 09:11
Ich will dass ein Tag aus 3-4 Wörtern (wort1-wort2-wort3) besteht und nicht aus einem Wort (wort1), wie es im WordPress üblich ist. Kennt jemand von euch eine Lösung?