Posts in WP + abwechselnde Css
Um Beiträge in WordPress abwechselnd farbig darzustellen,
muss man nur dafür sorgen, dass es nicht nur ein
<div class="post"> gibt,
sondern immer im Wechsel z.B.
<div class="postone"> und
<div class="posttwo">.
Das ganze funktioniert mit diesen Zeilen:
<?php
function post_style() {
static $post_count;
$post_count++;
if ($post_count % 2) {
echo "1";
}
else {
echo "2";
}
}
?>
Diese Zeilen müssen in die index.php des Themes direkt unter:
<?php
get_header();
?>
geschriben werden.
Ein paar Zeile weiter unten steht dann:
<div class="post">
Diese Zeile muss dann nur noch duch diese:
<div class="post<?php post_style(); ?>">
ersetzt werden.
Nun wechseln sich <div class="postone"> und
<div class="posttwo"> ab.
Dann muss noch eine Css-Klasse für beide angelegt werden und es wird bunt ![]()
Ähnlich funktioniert das auch mit den Kommentaren… wie beim Kubrick-Theme…
Dann würde ich aber gleich eine generische Methode nutzen. Ohne Gewähr:
function alternate_class($prefix=’post_’,$variants=2) {
static $data;
$c =& $data[$prefix];
echo(${prefix} . $c++ % $variants);
}
Pro Dokument darf ein prefix natürlich nur einmal benutzt werden und variants sollte sich auch nicht ändern, obwohl beides bestimmt interessante Effekte ergeben kann. Aber ansonsten sollte das so tun und so kann man mit einer Methode mehrere Sachen gleichzeitig alternieren lassen. Falls das jemand einsetzt oder gar in irgendwas einbaut, was dann veröffentlicht wird: Dürft ihr gerne tun, aber revanchiert euch bitte mit einem Link und/oder einer Erwähnung an passender Stelle. URL sieht man ja hier, alles weitere findet sich unter eben dieser falls nötig.
@lino
du hast recht… deine variante ist wohl schneller.
aber bei meiner variante kann man noch bestimmen, ob jede 2te oder 3te usw anders aussehen bzw. einen andere postclass bekommt
@olli
öffne mal die datei wp-content/themes/beetlefrosch/style.css
und such nach .post.
dann musst du halt nur die 2 klassen anlegen, die du mit dem echo erstellst.
bsp.: .postone und .posttwo oder so…
Kannste Du mir bitte mal nen Tip geben, was ich in die CSS-Datei eintragen muss und wo? Habe leider wenig Ahnung von der Materie
Etwas kürzer, schöner und soweit ich weiß auch schneller und resourcensparender (auch wenn das bei so kleinen Funktionen kaum auffällt):
function post_style() {
static $style;
echo $style = (‘postone’ == $style ? ‘posttwo’ : ‘postone’);
}