CSS-Code
Ich habe eine neue Spielerei eingebaut: Insgesamt vier Headergrafiken,
die sich beim Aufruf einer anderen Seite per Zufallsgenerator jeweils erscheinen.
Normalerweise wäre das kein Problem gewesen, das in die header.php von
WordPress einzubauen. In einigen WordPress-Themes, z.B. Kubrik, ist das
Style für die Headergrafik ja dort abgelegt und man kann einen php-Schnibbel
für den Zufallsgenerator einfach folgendermaßen einbauen:
<?php
$new[1] = "header0.jpg";
$new[2] = "header1.jpg";
$new[3] = "header2.jpg";
$new[4] = "header3.jpg";
$zufall = rand(1,4);
?>
Und dann so aufrufen für den Header:
background: url(images/header<?php echo $new[$zufall];
?>) no-repeat;
Nun setze ich ja den Styleswitcher ein für die Designs “Dunkel” und “Xmas”.
Wenn ich den Zufallsgenerator also wie oben in die header.php eingefügt hätte,
würden die Grafiken in allen Styles erscheinen und das wollte ich natürlich nicht.
Die Lösung kann nur in der css-Datei liegen. Aber in einer normale css-Datei kann
man keinen PHP-Code ausführen, weil die nicht geparst wird.
Nach ein paar Recherchen im Netz fand ich die Lösung: Die style.css muß in style.php
umbenannt werden und damit sie weiterhin als css-Datei erkannt wird, muß man sie als
text/css ausgeben, und das geht folgendermaßen: Einfach
<?php
header("content-type: text/css");
?>
hineinschreiben und die Zufallsbilder als background direkt von dort aufrufen.
Ich habe das hier mit Firefox, IE und Opera getestet – es funktioniert! :love: PS.:
Damit der php-Code nicht in diesem Beitrag hier ausgeführt wird, habe ich die
spitzen Klammern, < und >, “maskiert”, d.h. im Unicode geschrieben. Der
Validator läßt sich übrigens ein U für ein X vormachen und validiert die style.php,
die als css ausgegeben wird, einwandfrei.