RSS-Kommentar-Feed: jeder Eintrag neuerdings auf 01.01.1970 datiert!

  • Hallo zusammen,

    der Kommentar-Feed meines Blogs:

    http://www.zonebattler.net/comments/feed/

    listet derzeit alle Einträge stets unter dem Unix-Urknall-Datum 01.01.1970 auf. Im Blog selbst hingegen stimmt das Veröffentlichungsdatum. Das ist mir eine ganze Weile nicht aufgefallen, da ich ein Dutzend Feeds lese und die Kommentare des eigenen Blogs wegen dieses Effekts immer ganz unten und damit außerhalb des sichtbaren Bildschirmbereiches angelistet wurden. Ich kann das Auftreten des Phänomens daher nicht präzise datieren, mutmaße aber einen Zusammenhang mit dem letzten kleinen Update auf WP 2.8.6.

    Hier im Forum habe ich zum Thema nur einen Uralt-Thread gefunden:

    http://forum.wordpress-deutschland.org/konfiguration/…t-rss-feed.html

    der sich aber nicht explizit auf die Kommentare bezieht. Kann jemand das Problem bestätigen und/oder gar eine Lösung anbieten? Mein Feed-Reader (Opera v10.11) scheint über jeden Verdacht erhaben, der arbeitete vorher auch schon und das stets einwandfrei.

    Danke für gute Ratschläge,
    Ralph

    • 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)

    Mehr erfahren

  • Hat sich das Problem zwischenzeitlich erledigt? Im Moment enthält der Feed ja die korrekten Daten.

    Leider zeigt ein Test, daß ich nicht Entwarnung geben kann: Ein vorhin um 20:31 Uhr unter den jüngsten Beitrag testhalber abgesetzter Kommentar (inzwischen wieder gelöscht) wurde im Feed erneut auf den 01.01.1970 datiert!

    Ich hatte aber auch schon den Effekt beobachtet, daß nach Abbestellen/Neuabonnieren des Kommentar-Feeds zunächst alles wieder im Lot zu sein schien, Folgekommentare aber dann doch wieder mit dem Nonsense-Datum versehen wurden..

    Rätselnde Grüße,
    Ralph

  • Also ich würde Dir erstmal raten, das nicht mit dem Feed-Reader zu testen sondern mit dem Feed selber. Dieser ist ja nichts weiter als eine XML-Datei, und das Datum steht da jeweils gut lesbar drin. Der letzte Eintrag im Feed ist vom Freitag, und alle Kommentare dort haben das korrekte Datum. Wenn überhaupt kann das auch nur ein Ausgabeproblem sein, da der Feed ja an sich nur die x neuesten Kommentare enthält. Wenn das also überhaupt ein WP-Problem ist, dann nur bei der Ausgabe des Datums, nicht beim internen Handling.

    Solange wir das Problem aber nicht sehen können, ist es etwas schwer, etwas dazu zu sagen. Ähm, ich hoffe, Du hast nichts dagegen, aber ich habe jetzt einfach mal einen Testkommentar veröffentlicht (kannst Du sofort wieder löschen). Und ja, das Datum taucht tatsächlich so im Feed auf:

    Code
    <pubDate>Thu, 01 Jan 1970 01:00:00 +0000</pubDate>

    Tja, also... Ich fürchte, man müsste mal in den Quelltext schauern, in die Klasse oder Datei, die das zusammenbaut. Vielleicht sieht man dann schon, woran es liegt. Muss ich aber mal schauen, ob ich da heute noch Zeit zu habe.

    Die Systemzeit an sich scheint jedenfalls zu stimmen und auch in der DB muss es eigentlich richtig stehen, denn auf der Webseite wird ja das korrkte Datum des Kommentars ausgegeben.

  • Ich habe gerade mal in den WP-Quelltext geschaut, um Unterschiede zwischen der normalen Ausgabe des Datums und der Ausgabe im Feed zu finden. So auf Anhieb sehe ich da hauptsächlich, dass bei der Feed-Ausgabe ein anderes Datum benutzt wird. Jeder Kommentar hat zwei Daten gespeichert in der Tabelle wp_comments: comment_date und comment_date_gmt. Vielleicht kannst Du ja noch mal einen Testkommentar anlegen und per phpMyAdmin oder so in die DB schauen, ob im comment_date_gmt etwa 0 drinsteht. Das würde das dann nämlich erklären.

    Falls es das nicht ist, schaue ich mal genauer, wie die Daten verarbeitet werden. Falls doch, müsste man schauen, wieso der falsche Datumswert gespeichert wird. Du könntest eventuell auch mal schauen, ob sich was ändert, wenn Du den Kommentar im WP-Backend neu abspeicherst?

    Ein generelles WP-Problem ist es jedenfalls eher nicht. In meinem Testblog tritt es z.B. nicht auf.

  • Also ich habe jetzt einen echten und einen Dummy-Kommentar angelegt und wie vorgeschlagen hinter den Kulissen in die Datenbank resp. deren Tabelle "wp_comments" geschaut. Die beiden Felder "comment_date" und "comment_date_gmt" werden offenbar völlig korrekt gefüllt, der Timestamp GMT ist jeweils exakt eine Stunde früher. Stimmt also insoweit, und das bei allen Kommentaren, soweit ich blättern kann.

    Das Hase muß also doch woanders im Pfeffer liegen...

    Einmal mehr herzlichen Dank für Deine sachkundige Unterstützung!

    Schönen Abend,
    Ralph

  • Hm, dann weiß ich erstmal nicht weiter, fürchte ich. Wenn ich das Problem lokal hätte, dann würde ich an verschiedenen Stellen Ausgaben in den WP-Quellcode einbauen und schauen, dass sich das eingrenzen lässt.

    ... Hm, vielleicht geht das ja auch bei Dir auf dem Server. Such Dir mal folgendes File raus: wp-includes/feed-rss2-comments.php

    Und darin Zeile 53:

    PHP
    <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_comment_time('Y-m-d H:i:s', true, false), false); ?></pubDate>

    Mach daraus mal folgendes:

    PHP
    <!-- <?php echo get_comment_time('Y-m-d H:i:s'); ?> -->
    <!-- <?php echo get_comment_time('Y-m-d H:i:s', true); ?> -->
    <!-- <?php echo get_comment_time('Y-m-d H:i:s', false, false); ?> -->
    <!-- <?php echo get_comment_time('Y-m-d H:i:s', true, false); ?> -->
     <!-- <?php echo mysql2date('D, d M Y H:i:s +0000', get_comment_time('Y-m-d H:i:s', true, false)); ?> -->
    <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_comment_time('Y-m-d H:i:s', true, false), false); ?></pubDate>

    Das sollte das Datum mal in verschiedenen Formaten als Kommentar über das pubDate-Element schreiben. Dann den Feed aufrufen (einfach mal per Browser direkt in den XML-Quelltext schauen), Ergebnis (=die Datums-Kommentare von einem "kaputten" Testkommentar) hier reinkopieren und die Änderung aus der Datei wieder rausnehmen. Mit etwas Glück sieht man dann, in welcher Stufe der beiden Aufrufe es schiefgeht. Vermutlich ist es am Ende was ganz einfaches, aber ich sehe aktuell den Fehler einfach nicht.

    Was mir ansonsten noch einfällt: Welche PHP-Version nutzt Du?

  • So, jetzt habe ich das mal gemacht und in fünf Durchgängen jeweils (von oben nach unten) eine der auskommentierten Zeilen "scharf geschaltet". Die Ergebnisse:

    Das scheint nicht wirklich weiterzuhelfen, fürchte ich...

    Zur PHP-Version: Mein Hoster Strato nutzt als Default die Version 4.irgendwas, und die im Backend vorgesehene Umstellmöglichkeit funktioniert bei mir nicht. Daher schalte ich per .htaccess um mit der Zeile

    PHP
    AddType application/x-httpd-php5 .php

    Damit nutze ich dann PHP v5.2.10 (behauptet jedenfalls mein Dashboard und ich glaube ihm das auch)...

    Tja, was nun?

    Dank & Gruß,
    Ralph

  • Woher kommt eigentlich das span-Tag rund um das Datum? Hast Du das in der PHP-Datei eingefügt oder kam das automatisch bei dem get_comment_time-Aufruf raus?!

    Wir nähern uns langsam, aber immerhin. Meine aktuelle Vermutung wäre dann, dass es an dem span-Tag liegt. Der Aufruf von [COLOR=#000000][COLOR=Black][COLOR=#0000bb]mysql2date[/COLOR][/COLOR][COLOR=#007700][COLOR=Black] mit zwei Parametern klappt ja offenbar, mit drittem Parameter false kommt 1970 raus. In letzterem Fall nutzt WP intern die date-Funktion von PHP, während es sonst seine eigene date_i18n-Funktion nutzt.[/COLOR]

    [COLOR=Black]So, und das kann ich dann ja endlich mal testen:[/COLOR]

    [/COLOR][/COLOR]

    PHP
    Datumstest 1: <?php echo date('D, d M Y H:i:s +0000', strtotime('<span id=\'aectime8197\'>2009-11-23 18:21:29</span>')); ?>

    Ergibt: Datumstest 1: Thu, 01 Jan 1970 01:00:00 +0000

    PHP
    Datumstest 2: <?php echo date('D, d M Y H:i:s +0000', strtotime('2009-11-23 18:21:29')); ?>

    Ergibt: Datumstest 2: Mon, 23 Nov 2009 18:21:29 +0000

    Ja, da hätten wir es doch hoffentlich gefunden. Bleibt nur noch zu schauen, ob Dein Theme oder eines der Plugins dieses span-Element per Filter an das Datum dranhaut.

  • Wir nähern uns jetzt leider auch meinen Grenzen hinsichtlich Verstehens, Wissen und Könnens, fürchte ich. Aber vielleicht kommen wir ja doch weiter. Also: Bei unveränderter Problematik sehe ich im Quelltext des Kommentarfeeds keinerlei <span>-Tags mehr, seit ich die von Dir zur Analyse eingebauten Zeilen wieder verworfen, ja faktisch meine originale wp-includes/feed-rss2-comments.php wieder hochgeladen habe:

    Der Hinweis auf ein Plugin hat mich insofern elektrisiert, als ich neulich mit diesem hier:

    http://www.chrisfinke.com/wordpress/plugins/feed-statistics/

    ein Feed-Statistik-Plugin

    eingebaut hatte. Der Anfangsverdacht freilich ließ sich nicht erhärten, denn auch nach probehalber Abschaltung ALLER meiner Plugins, siehe

    http://www.zonebattler.net/selten-gestellte-fragen/#plugins

    kommt der Kommentar-Feed mit dem falschen Datum. Mein Theme spreche ich von jedem Verdacht frei, das ist seit Monaten unverändert.

    Um die Verwirrung komplett zu machen: Rufe ich die Feed-Adresse:

    http://www.zonebattler.net/comments/feed/

    in Opera 10.10 auf, so habe ich in Anzeige und Quelltext das falsche Datum drin, mache ich das gleiche mit dem IE 7.0, so stimmen die Einträge. Hilft uns das in irgendeiner Weise weiter?

    Seufzenden Mittagsgruß,
    Ralph

  • Zitat

    Also: Bei unveränderter Problematik sehe ich im Quelltext des Kommentarfeeds keinerlei <span>-Tags mehr, seit ich die von Dir zur Analyse eingebauten Zeilen wieder verworfen, ja faktisch meine originale wp-includes/feed-rss2-comments.php wieder hochgeladen habe:

    Ja logisch, Du hast die Zeilen dann ja auch nicht mehr drin. Was ich meinte, ist folgendes:

    PHP
    <?php echo get_comment_time('Y-m-d H:i:s'); ?>

    Das sollte ein Datum erzeugen und sonst nichts. Es erzeugt bei Dir aber offenbar das Datum in einem span-Tag. Das könnte z.B. ein Plugin oder das Theme über einen Filter da einfügen, denke ich.


    Zitat

    Der Anfangsverdacht freilich ließ sich nicht erhärten, denn auch nach probehalber Abschaltung ALLER meiner Plugins kommt der Kommentar-Feed mit dem falschen Datum.

    Also ich sehe Deine Testkommentare aktuell mit dem richtigen Datum. Sicher, dass Das im Opera nicht bloß gecacht war und es doch an einem Plugin lag? Ich habe gerade mal noch etwas gegoogelt, und das span könnte von "Ajax Edit Comments" stammen (wegen des "aec" in der span-ID). Hattest Du das im Einsatz?

    Update: Sehe in Deiner Liste gerade, dass Du das tatsächlich im Einsatz hast. In der aktuellen Version des Plugins kann ich das span-Tag nicht entdecken. War es bei Dir vielleicht nicht aktuell? Sag mal Bescheid, ob der Fehler mit tatsächlich auftritt und ohne nicht. Strg+F5 lädt übrigens in den meisten Browsern die Seite neu unter Umgehung des Caches.

    Einmal editiert, zuletzt von Ammaletu (24. November 2009 um 13:05)

  • Bingo!

    Also erstens: Du hast recht, der "Übeltäter" heißt "WP Ajax Edit Comments" in der aktuellen Version!

    Weswegen ich da zweitens nicht gleich dahinter gekommen bin: Trotz Cache-Leerung zeigte Opera in meinem Kommentar-Feed (bei deaktivierten Plugins!) weiterhin das falsche Datum an, obwohl im Quelltext aber schon wieder das jeweils korrekte drin war! Also sowas hab' ich noch nicht gesehen, daß der Quellcode schon aktualisiert ist, die daraus hergeleitete Bildschirmdarstellung im Browser aber nicht...

    Anyway, damit ist der Fehler lokalisiert und ich werde das dem Autor von "WP Ajax Edit Comments" sofort weitermelden. Das Plugin ist ja ein praktischer Service für kommentierende LeserInnen, aber es muß natürlich ohne Risiken und Nebenwirkungen funktionieren.

    Wieder einmal lagen Ursache und Wirkung recht weit auseinander. Wer weiß, wie lange ich da ohne Deine Beteiligung vergeblich weitergesucht hätte! Ich danke Dir ganz herzlich für Dein Engagement und die freundliche Hilfestellung: Ich weiß das sehr zu schätzen und vielleicht kann ich mich mal beim Universum revanchieren! ;-)

    Lieben Gruß,
    Ralph

  • Kein Problem, ich knobele ja gerne an solchen Problemchen, vor allem an welchen wo sich am Ende auch eine Lösung findet. ;-) Wäre natürlich schön, wenn das im Plugin behoben wird.

  • Gib dem Pluginautor doch am besten noch die genaue Info, woran der Fehler liegt. Der kriegt solche allgemeinen Aussagen wie "Dein Plugin macht mein WP kaputt" sicher dreimal am Tag. ;-)

    Die Ursache ist hier ja, dass der Rückgabewert von get_comment_time scheinbar per Filter um ein span mit der ID "aectime8197" ergänzt wird, was die Ausgabe im Feed kaputt macht. Ich habe allerdings die genaue Stelle, wo das passiert, im Plugin nicht finden können.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!