Hallo alle!
Gibt es eine Funktion mit der sich eine if/else Schleife realisieren lässt die wie folgt aussieht?
ZitatWenn Artikel älter als 3 Monate dann TEXT, ansonsten KEIN TEXT.
Danke schön :razz:
grüße
Um schreiben oder kommentieren zu können, benötigen Sie ein Benutzerkonto.
Sie haben schon ein Benutzerkonto? Melden Sie sich hier an.
Jetzt anmeldenHier können Sie ein neues Benutzerkonto erstellen.
Neues Benutzerkonto erstellen
Hallo alle!
Gibt es eine Funktion mit der sich eine if/else Schleife realisieren lässt die wie folgt aussieht?
ZitatWenn Artikel älter als 3 Monate dann TEXT, ansonsten KEIN TEXT.
Danke schön :razz:
grüße
Hallo!
Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.
Danke, aber dazu sollte man programmieren können...kann ich nicht. So eine fertige, kleine Schleife wäre hilfreich :oops:
Lerne mit den Werkzeugen umzugehen mit denen du arbeiten willst.
Gruß
Mo
Sehr weise, nur hilft mir das auch nicht. Setz mal einen Programmier vor Photoshop und Dreamweaver und sag "Bau mir eine schöne Website" - verlass dich drauf, 80% und mehr bringen nur hässliches Zeug zustande. Verstehst du den Gedankengang? Das designen ist mein Part, nicht das Programmieren ;-)
Wenn jemand noch so eine Schleife parat hat, danke :-)
Das heißt im Umkehrschluss, dass du auch zu den 80% gehören willst, die kein Interesse daran haben sich mit den Werkzeugen die sie einsetzen auseinander zu setzen.
Dabei machen es PHP und Wordpress einem wirklich leicht zumindest die Basics in sehr kurzer Zeit zu lernen.
Da du immerhin schon von der Existenz von if/else (was btw. keine Schleife ist) weißt, gehe ich mal davon aus das ein gewisses Grundverständnis der Materie durchaus verhanden ist
Ausgangspunkt ist immer Pseudocode
Benötigt werden 3 Werte:
1. [URL="http://codex.wordpress.org/Function_Reference/get_the_time"]Datum des Beitrags[/URL]
2. [URL="http://www.schattenbaum.net/php/datum.php"]Aktuelles Datum[/URL]
3. [URL="http://www.phpf1.com/tutorial/php-date-difference.html"]Differenz der Daten 1 + 2[/URL]
Die Logik sieht dann so aus:
[URL="http://www.schattenbaum.net/php/if.php"]Wenn[/URL] "3" [URL="http://www.php.net/manual/de/language.operators.comparison.php"]größer als[/URL] 3 Monate (
[URL="http://codex.wordpress.org/The_Loop"]Zeige Text nicht an[/URL])
Alles anzeigen
Dieses Konstrukt jetzt in PHP zu übersetzen und z.B. mit dem Wordpress Loop zu kombinieren sollte jetzt kein Problem sein.
Gruß
Mo
Morris schreibt doch schon ... so ungefähr müsste es aussehen.
Wenn heute minus postdate größer 3Mon --> Text
Jetzt musst du für "heute" (Stichwort: time()) und "postdate" (Stichwort: post_date) noch den richtigen Code finden ... 7776000 sollte schon 3 Monaten entsprechen:
Also...erstmal die Variablen bestimmen:
Dann die Differenz bilden:
DateDifference = ((idate('Y', $ActualDate) * 12) + idate('m', $ActualDate)) - ((idate('Y', $PostDate) * 12) + idate('m', $PostDate));
Was wird hier gemacht?
time() und get_the_time() liefern jeweils Sekunden zurück.
Mittels idate() holden wir uns daraus jeweils die Jahre und die Monate. Die Jahre multiplizieren wir mit 12 um diese in Monate umzurechnen. Dann werden die beiden addiert und die beiden Daten voneinander abgezogen.
Jetzt musst du nurnoch Abfragen ob DateDifference größer 3 ist. Einen else-Zweig brauchst du, wenn ich dich richtig verstanden habe nicht.
Deine if-Abfrage kannst du einerseits in die Loop-Abfrage integrieren, wenn garnichts angezeigt werden soll, oder du plazierst sie um die entsprechenden Elemente innerhalb des Loops.
Gruß
Mo
Morris
wäre es denn nicht etwas weniger aufwändig, wenn man strtotime($post->post_date) von time() abzieht und dann schaut ob die Differenz größer 3Mon. (7776000) ist?
Morris
wäre es denn nicht etwas weniger aufwändig, wenn man strtotime($post->post_date) von time() abzieht und dann schaut ob die Differenz größer 3Mon. (7776000) ist?
Sicher, aber nicht so durchschaubar/nachvollziehbar und außerdem etwas ungenauer. Ich hoffe ja immer, dass Leser meiner Beiträge ja auch noch etwas lernen und verstehen, damit sie in Zukunft in der Lage sind ihre Probleme selber zu lösen oder auch besser zu beschreiben.
Gruß
Mo
PS: Da waren es 1500 :)
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!