Hallo,
blöder Titel, ich weiß aber nicht, wie ich es anders formulieren soll.
Ich möchte eine einfache Ausgabe wie z.B. "Diese Seite existiert seit ... Tagen" haben, z.B. im Footer oder der Sidebar. Brauche ich dazu ein Plugin oder reicht ein einfacher PHP-Schnipsel - wenn ja, wie müsste der heißen (da ich mich mit PHP noch so gut wie gar nicht auskenne)?
Zeit-Ausgabe
-
-
- Gerade eben
- Anzeige
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.
- ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
- ✔️ Deutsche Server & DSGVO-konform
- ✔️ Persönlicher Support (kein 0815-Ticket-System)
-
PHP
<?php $age = $wpdb->get_var("SELECT post_date_gmt FROM $wpdb->posts WHERE post_status = 'publish' ORDER BY post_date_gmt LIMIT 1"); $age = strtotime($age); $age = (time() - $age) / (60*60*24); $age = $age % 365; ?> Diese Seite existiert seit <?=$age; ?> Tagen.Diesen Schnipsel an der Stelle einfügen, an der die Ausgabe erfolgen soll.
Gruß Jeriko
-
Gute Idee (Jeriko), alllerdings hab ich zwei Anmerkungen:
Das Datum erhält man auch mit $post->post_date
Shorttags können (vor allem, wenn hier noch andere mitlesen) zu verwirrenden Fehlermeldungen führen.Ich erlaube mir mal, Deinen Schnipsel zu korrigeren, bitte nicht persönlich nehmen:
PHP<?php $age = strtotime($post->post_date); $age = (time() - $age) / (60*60*24); $age = $age % 365; ?> Diese Seite existiert seit <?php echo $age; ?> Tagen.edit:
Woodstock: Meinst Du mit "existiert seit ... Tagen" einen bestimmten Beitrag bzw. eine Seite, oder meinst Du Deine gesamte Website? Bei ersterem müsste man es ohnehin in den Loop schreiben (da es z.B. auf Suchseiten im Footer keinen Sinn machen würde), bei letzterem kann man den Ausgangswert auch statisch setzen und nur die Zeitdifferenz dazu berechnen. -
Ich habe eure beiden Versionen mal in meinen Testblog eingebaut, links unten in der Sidebar. Bei Jerikos Version steht dort "seit 358 Tagen", bei masterminds Version variiert das, je nachdem welche Seite ich aufrufe. Irgendwie stimmt beides nicht, aber Jerikos noch eher - obwohl, 358 ist doch auch falsch, wenn mein erster Eintrag am 1. Oktober 2005 war :confused:
Wie jetzt? -
Wieso ist 358 falsch? Heute ist der 24. September 2005, das sind 358 Tage nach dem 1. Oktober 2005. Das einzige was ich nicht berücksichtige sind Schaltjahre, aber das könnte man in zwei Jahren dann auch einbauen ;-)
Gruß Jeriko
-
Ach was bin ich blöd...
Klar, du hast Recht, und ich kann nicht rechnen :oops:
Ganz herzlichen Dank!... und in zwei Jahren wende ich mich nochmal an dich
-
Ok, ich fasse zusammen: Du möchtest die Ausgabe für Deine gesamte Website , und als erster Tag soll der 01. Oktober 2005 gelten?
Wenn es um die gesamte Site geht, ist der Zugriff auf die WordPress-Daten nicht nötig, man setzt einfach das Datum statisch und errechnet daraus die Differenz:
... und so weiter.
-
Wende dich lieber jetzt an mich, da ist doch noch ein kleiner Fehler drin ;-)
PHP<?php $age = $wpdb->get_var("SELECT post_date_gmt FROM $wpdb->posts WHERE post_status = 'publish' ORDER BY post_date_gmt LIMIT 1"); $age = strtotime($age); $age = (time() - $age) / (60*60*24); $age = (int)$age; ?> Diese Seite existiert seit <?=$age; ?> Tagen.So stimmts dann auch - ansonsten hätte er am 1. Oktober wieder von 0 an gezählt. Keine Ahnung was ich mir da wieder bei gedacht habe :mrgreen:
Gruß Jeriko
-
Hmm, ich glaube, ich bleibe bei Jerikos Vorschlag - die momentane Ausgabe deiner Version, mastermind, ist ein wenig hoch... oder ich habe dein "und so weiter" falsch interpretiert? Ich sag doch, ich hab keine Ahnung von PHP.
-
Nein, Du musst nur die ersten beiden Zeilen in Jerikos Beispiel durch die ersten beiden Zeilen in meinem letzten Beispiel ersetzen. Dann sparst Du den Datenbankzugriff, denn man muss ja nicht bei jedem Aufruf der Seite die "Geburt" des Blogs neu ermitteln.
-
Nein, Du musst nur die ersten beiden Zeilen in Jerikos Beispiel durch die ersten beiden Zeilen in meinem letzten Beispiel ersetzen. Dann sparst Du den Datenbankzugriff, denn man muss ja nicht bei jedem Aufruf der Seite die "Geburt" des Blogs neu ermitteln.
Ah! Ja, so sieht das besser aus :-D Löst das auch das Problem mit dem nächsten Schaltjahr?
-
Nein leider nicht.
Aber da gebe ich Jeriko recht, das ist in zwei Jahren einfacher zu beheben als heute. Am 29.02.2008 musst Du dann aus '2005-10-01 12:00:00' einfach '2005-09-30 12:00:00' machen. :mrgreen: -
Gut, dann werde ich mir das Datum im Kalender anstreichen :-D
Herzlichen Dank an euch zwei! -
mastermind, doch noch mal eine kurze Frage: warum 12:00:00 und nicht 00:00:00?
-
Total willkürlich. Könnte genau so gut '09:56:26' sein. ;-)
-
Total willkürlich. Könnte genau so gut '09:56:26' sein. ;-)
Gut, dann habe ich ja nichts kaputt gemacht, als ich es auf 00:00:00 gesetzt habe :)
-
warum funktioniert das bei euch. Bei mir wird gar nix angezeigt. Habe den Code, laut Beschreibung in ein Textwidget gepackt.
Natürlich mit execphp als Plugin am laufen.
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!