Firmenschriftzug highlighten
Designer denken sich ja die tollsten Sachen aus. Leider ist der Photoshop kein CMS.
Im konkreten Beispiel geht es darum, das ein bestimmter Slogan immer in bestimmten Farben erscheinen soll und daß das System, welches ihn ausgibt, WordPress heißt. So soll es auf der Webseite dann aussehen:

Dieser Slogan kommt in der Überschrift und in Content vor. Aber auch nur *FOO ist im Content möglich.
Der Kunde möchte sich natürlich beim Schreiben nicht mit Spans und Klassen herumschlagen. Verständlich.
Also eine Funktion schreiben. Als erstes müssen wir den String by *FOO suchen und dort um by einen Span wrappen. Danach wrappen wir einen Span um *FOO, das das ja auch alleine vorkommen kann. Würde man es in der ersten Funktion gleich mitmachen, könnte es passieren, das ein *FOO schon einen Span hat und dann noch einen bekommt. Hier der Code:
function colorize_FOO($content) {
$str = "*FOO";
$newstr = "<span class=\"foo\">*FOO</span>";
$html = str_replace($str, $newstr, $content);
return $html;
}
function colorize_by($content) {
$str = "by *FOO";
$newstr = "<span class=\"by\">by</span> *FOO";
$html = str_replace($str, $newstr, $content);
return $html;
}
add_filter('the_title', 'colorize_by',1);
add_filter('the_content', 'colorize_by',1);
add_filter('the_title', 'colorize_FOO',1);
add_filter('the_content', 'colorize_FOO',1);
Sicher gibt es elegantere Methoden, aber mir ist auf die Schnelle nichts Besseres eingefallen.
- Kategorie: WordPress
- Tags: filter_hook, theme, WordPress
- Kommentar-Feed | Trackback URL
- Gelesen: 2528 | Heute: 5
- einen Kommentar schreiben
1 Kommentar


Toller Tipp, vielen Dank!