Geht einfacher.
1. Die einfachste Möglichkeit ist, die index.php zu duplizieren und in category.php umzubennen. WordPress sucht nämlich beim Aufruf einer Kategorie automatisch nach einer Datei category.php. Und es kommt noch besser, man kann für jede Kategorie eine unterschiedliche Datei anlegen in dem man einfach die ID dieser Kategorie anhängt. Also:
category-2.php
category-15.php
usw.
In den meisten Fällen ist es aber gar nicht nötig, gleich ganze Extra-Templates anzulegen. Deshalb:
2. Man lädt für die betreffende Kategorie ein anderes Stylesheet. Normalerweise wird ja in der header.php definiert, welche CSS-Datei geladen wird:
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />
Die heißt im Regelfall: style.css Nun kann man aber hier auch folgende Anweisung einbauen:
<?php if ( in_category('5') ) { // Load special CSS for "Cars" category ?>
<link rel="stylesheet" href="<?php get_template_directory(); ?>/category-5.css" type="text/css" media="screen" />
<?php } else { ?>
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />
<?php } ?>
D.h. wenn die Kategorie mit der ID 5 aufgerufen wird, wird nicht style.css geladen, sondern category-5.css. Genauso kann man diese Abfrage natürlich auf mehrere Kategorien erweitern.
3. Am cleversten ist folgende Lösung: Man ändert in der Datei category.php (wenn noch nicht vorhanden einfach die index.php kopieren und umbenennen.) den Eintrag des DIVs der für den Hintergrund verantwortlich ist, also z.B. #rap oder auch #content so:
Statt:
<div id="rap">
schreibt man:
<div id="rap<?php echo $cat?"-$cat":""; ?>">
Jetzt raucht man nur noch in der style.css die neue ID hinzufügen, jeweils für die betreffende Kategorie, also z.b.:
#rap-1 {
background-image: url(images/background-1.jpg);
}
#rap-2 {
background-image: url(images/background-2.jpg);
}
usw. Dann wird die ID #rap für alle normalen Ansichten verwendet und #rap-x für die jeweiligen Kategorien. Man braucht also auch nur eine style.css in der alles drin steht.