
Perun beschreibt einen Weg, wie man mit Hilfe eines Plugin die Anforderung erfüllt, dass die Werbung nur dann gezeigt wird, wenn der Artikel ein bestimmtes Alter erreicht hat. Wer nicht auf ein Plugin zurück greifen will und sich damit schnell in eine Abhängigkeit begibt, dem sei folgende kleine Lösung empfohlen.
Die Conditional Tags von WordPress sind ein nützliches Mittel für diverse Abfragen und so kann man sich auch eigene Funktionen erstellen, die die gleich Aufgabe übernehmen. Die folgenden kleine Funktion gehört in die functions.php des Themes und kann dann überall benutzt werden.
function is_old_post($days = 5) {
$days = (int) $days;
$offset = $days*60*60*24;
if ( get_post_time() < date('U') - $offset )
return true;
return false;
}
Der neue „Conditional Tag“ kann dann beispielsweise wie folgt genutzt werden.
if ( is_old_post() ) {
// tue etwas, wenn der Beitrag so alt ist
} else {
// tue etwas, wenn der Beitrag nicht so alt ist
}
Die Funktion nutzt als Standard 5 Tage und kann mit Hilfe des Parameters angepasst werden. So ergeben sich verschiedene Möglichkeiten um eine Abfrage zu starten und das Alter des Beitrags zu nutzen.
Den Code-Schnippsel kann ich dann sowohl direkt im Theme-Code verbauen wie auch per include als seperate Datei einbinden oder?
Am einfachsten die Funktion in die
functions.php, dort kannst du natürlich auch andere Dateien inkludieren. Damit steht er überall im Theme zur Verfügung.Ich habe da auch mal ein Plugin geschrieben. War mein erstes
http://www.phphatesme.com/block-rules/
Hier kann ich Blöcke mit Regeln, wie z.B. Alter des Artikels, hinterlegen.
Danke Frank, für die Bestätigung.
Manchmal bin ich mir unsicher in meinem tun, da ich nicht wie du vollends das Verständnis von der Materie habe. An manschen Tagen kapiere ich sogar schlicht weg gar nichts.
Keine Sorge, dass geht uns allen so
Durch deine Aussage fühle ich mich schon gleich ein wenig wohler.
Anbei noch ein Frage an dich, da Du dich ja wie auch Perun gut mit WordPress auskennst.
Gibt es eine Möglichkeit, dieses Plugin Who See Ads dahingehend zu erweitern oder aufzuwerten, das neben den Views auch die Klicks gezählt werden können? Weil diese, in meinen Augen, einfache Funktionsweise fehlt in dem Plugin.
Dass würde das Plugin meiner Meinung nach nämlich dann auch endlich mal vollwertig machen.
Ich kenne das Plugin nur vom Hören/Sagen - daher kann ich dazu wenig beitragen. Aber ich vermute, wenn man den Autor anfragt, dann wäre das eher der richtige Weg. Meist sind Autoren hilfreich, wenn die Zeit es zulässt.
He das ist ... sagen wir's mal auf 15jährig: "COOL" Mir fällt spontan eine Hand voll Einsatzmöglichkeiten ein. Ein hübscher Schnipsel um zum Beispiel Beiträge mit kleinen "ganz frisch", "frisch", "älter" und "asbach" Schildchen zu beschriften. Lässt sich die Funktion auch so einsetzten, ein festes Datum in der Vergangenheit anzugeben, um so neuere von älteren Posts zu selektieren? Der Hintergrund ist der, dass ich viele Blogger kenne, die Ihr Layout nach 500 Beiträgen auch mal wieder ändern wollen, die neue Idee zum Layout aber mit den alten Beiträgen nicht realisierbar ist (Bildgrößen etc.). So würde en festes Datum definiert und mit diesem lassen sich dann Layoutänderungen zuweisen. Dir einen schönen Advent!
@Nicki: klar, du musst ja nicht die Tage-Anzahl geben; es kann auch ein Datum sein, was mit dem Datum des Post verglichen wird. Am einfachsten geht das, in dem das Format des Datum gleich dem Datum ist, wie WordPress es $post mit nutzt, dann ist der Abgleich einfacher.
Ich kenne das Plug-In und habs auch schon in Betrieb. Nach einigem hin-und-her hat´s gefunkt .... kann ich nur empfehlen, auch für einen realtiven "technik-laien".
Prima, danke Frank!
Starke Lösung .(Top PERUN!) . werde ich mal ausprobieren!
Nice Guy!
Code-Schnippsel ist eingebaut und funktioniert perfekt!
Danke!
p.s. bookmark ist gesetzt
Hallo Frank!
Kann man in der Funktion auch noch ein Anweisung reinbringen, die die Posts - die älter als x Tage sind - zufällig auswählt?
Ich kneif mir da seit Tagen einen ab, und kriegs einfach nicht geregelt, einen zufällig ausgewählten Artikel anzuzeigen, der meinetwegen älter als 2 Monate ist.
Ich habe zwar schon soweit einen Code hinbekommen, aber der sorgt dafür, das ich statt 15 Seiten plötzlich weit über 100 habe. Und auf allen Seiten dann eben Artikel anzeigt, die älter als vorgegeben sind.
@Marcus: diese kleine Funktion prüft nur den einen Post, da ist nicht mehr. Eventuell solltest du über einen Query gehen.