WordPress tip: Διορθώνοντας προβλήματα ώρας στο feed σας

Published by stelabouras in Coding, Internet, Software, Tech

wordpress-logo 

Παρατήρησα χθες ότι λόγω της τοποθεσίας του server του Wiggler (βλ. Αμερική), τα feed items του RSS είχαν λανθασμένες ημερομηνίες. Το WordPress δίνει την δυνατότητα για καθορισμό της ώρας του blog μέσω των options αλλά κατά ένα περίεργο τρόπο, οι ώρες των posts δούλευαν παντού σωστά εκτός από τα feeds που έβγαιναν με διαφορά -10 ωρών!

Παρατηρώντας το ίδιο πρόβλημα και σε άλλους χρήστες και βλέποντας ότι η ομάδα του WordPress είχε λάβει γνώση και είχε διορθώσει (?) το συγκεκριμένο “bug” από την έκδοση 1.5+ αποφάσισα να το κάνω να δουλέψει μέσω ενός απλού edit.

Αν λοιπόν, έχετε ένα custom WordPress installation σε κάποιον non-greece located server (ας πούμε Αγγλία που είναι -2 ώρες απο την Ελλάδα) και αντιμετωπίζεται το ίδιο πρόβλημα στα feeds (για να το εντοπίσετε πηγαίνετε στο feed σας, κάντε ένα view source [Ctrl-U] και ελέγξτε τις ώρες στο pudDate κάθε post με αυτές που θα έπρεπε να είναι κανονικά) τότε εκτελέστε τα παρακάτω βήματα.

Εντοπίστε το αρχείο wp-rss2.php στον κεντρικό φάκελο του WordPress σας (εκεί δηλαδή που βρίσκονται και οι φάκελοι wp-admin, wp-content, wp-includes κ.ο.κ.) και ανοίξτε το με τον αγαπημένο σας editor (*γκούχ* vim *γκούχ*). Θα δείτε τις επόμενες γραμμές:

rss 2 wordpress hack before

Στο πρώτο pubDate tag αποθηκεύεται η τελευταία αλλαγή σε όλα τα posts και στο τελευταίο η ώρα του κάθε post.

Πηγαίνοντας στο πρώτο pubDate tag αλλάξτε την συνάρτηση get_lastpostmodified(‘GMT’) σε get_lastpostmodified(‘blog’) και στο τελευταίο pubDate, την συνάρτηση get_post_time(‘Y-m-d H:i:s’, true) σε get_post_time(‘Y-m-d H:i:s’, false) . Αφού τα κάνετε αυτά οι συγκεκριμένες γραμμές κώδικα θα πρέπει να φαίνονται κάπως έτσι:

wordpress rss2 hack after

Σώστε και δείτε ξανά το RSS του blog σας (καθαρίστε πρώτα την cache γιατί μπορεί να μην δείτε κάποια αλλαγή με το πρώτο απλό refresh). Λογικά τώρα θα είναι οι σωστές ώρες και όχι η ώρα του server!

Εάν αντιμετωπίσατε κάποιο πρόβλημα με την όλη διαδικασία, comment here!

Comments (1)

Wordpress 2.3, το τελευταίο manual update? at Wiggler
September 24th, 2007 at 8:07 am

[...] για το Wiggler κάτι τέτοιο δεν είναι άμεσα εφικτό με όλες τις αλλαγές που έχουν γίνει σε βασικά core files, οπότε προτιμώ [...]