Dieser Artikel ist Teil der Artikelserie WordPress QuickTipps

Alle Artikel:

WordPress Quicktipps 3 (für die single.php)
07/2008

Eine weitere - sehr elegante - Methode (siehe auch Methode 1) die single.php je nach Kategorie zu stylen (Originalcode von Filosofo):

1
add_filter('single_template', create_function('$t', 'foreach( (array) get_the_category() as $cat ) { if ( file_exists(TEMPLATEPATH . "/single-{$cat->term_id}.php") ) return TEMPLATEPATH . "/single-{$cat->term_id}.php"; } return $t;' ));

Vorstehender Code wird in die functions.php (im Themes-Ordner) eingefügt und er weist WordPress an, eine eventuell vorhandene single-DEINECATID.php zur Darstellung der einzelnen Posts zu verwenden, falls nicht, wird die normale single.php verwendet. Man braucht also nur pro Kategorie eine single.php erstellen und schon klappts. (category-1.php ? single-1.php).
Info: Templates für Single-Seiten funktionieren nur, wenn Posts einer einzigen Kategorie zugeordnet sind.

Eine weniger elegante, aber ebenso effektive Möglichkeit auch auf der single.php die aktuelle Kategorie in der Sidebar hervorzuheben bietet folgender Codeschnipsel, der in die wp-include/category-template.php nach der Linie 313 eingefügt werden muss:

1
2
3
4
5
if ( is_single() ) {
 
		$blork = get_the_category();
		$r['current_category'] = $blork[0]->cat_ID;
		}

Voraussetzung dafür ist die Verwendung von “wp_list_categories” und natürlich der entsprechenden Style-Anweisung in der style.php (zB. .current-cat {fontweight:bold; color:red;}).

Zusatztipps:
? Statische Seiten kann man mit der Klasse .current_page_item hervorheben.
? Wer im Core von WordPress herumwerkelt (wie oben in der category-template.php) sollte sich eine Textdatei anlegen, in der alle Veränderungen genau dokumentiert sind - so können sie jederzeit wieder rückgängig gemacht werden und bei Updates schnell neu gemacht werden.

--- ende artikel ---------------------------

kOmMeNtaR sChReIbEn:



*


* (keine Veröffentlichung)