Hallo zusammen,
ich bin gerade (oder eigentlich seit langem schon) die Internet-Seite unseres Fußballvereins auf Wordpress umzustellen. Eine große Anzahl der Posts sind dabei die Spielberichte unserer Mannschaften. Dafür habe ich zahlreiche Kategorien angelegt, die alle das Wort "Spielberichte" im Namen haben. Wenn ein solcher Spielbericht-Post angezeigt wird, möchte ich die Überschrift des Posts zentriert dargestellt haben (allerdings nicht in der Kategorie-Ansicht, da soll die Überschrift nochmals anders angezeigt werden). Dazu habe ich in meinem Theme, welches ein Child Theme von "Twenty Eleven" ist, folgenden Filter in functions.php angelegt:
function center_title($title) {[INDENT]$post_categories = wp_get_post_categories(get_the_ID());[/INDENT]
[INDENT]foreach($post_categories as $c){[/INDENT]
[INDENT=2]$cat = get_category($c);[/INDENT]
[INDENT=2]if ((substr($cat->cat_name, 0, 13) == 'Spielberichte') && (!is_category()))[/INDENT]
[INDENT=3]return "<div align=\"center\">".$title."</div>";[/INDENT]
[INDENT=2]else[/INDENT]
[INDENT=3]return $title;[/INDENT]
[INDENT]}[/INDENT]
}
add_filter('the_title', 'center_title');
Das ganze funktioniert im Prinzip auch, nur folgendes tritt auf: damit werden auch, sobald der Filter aktiv ist und greift, die Menüpunkte in meinem Menü zentriert, was ich eigentlich nicht haben will. Zeige ich z.B. einen Einzel-Post an, bei dem der Filter nicht greift, sind meine Menüpunkte normal links ausgerichtet, wie es im Twenty Eleven Standard ist. Zeige ich aber einen Post an, bei dem der Filter wirkt, werden auch die Menüpunkte zentriert. Das möchte ich nicht haben.
Wer kann mir sagen was an meinem oben dargestellten Filter nicht okay ist und wie ich das korrigieren kann?
Ich finde auch die Zentrierung mittels <div align="center"> nicht besonders elegant. Wie kann ich denn das über CSS-Klassen machen? Wie kann ich diese dynamisch meiner Post-Überschrift per Filter zuweisen und die Standard-CSS-Klasse des Themes in diesem Fall deaktivieren?
Vielen Dank schon mal. :-)