WordPress RSS Feed时间码的另一个bug

Tuesday, April 12th, 2005 | WordPress

除了车东昨天指出的中文WordPress RSS Feed时间码不符合标准的问题外,今天一不小心又发现了Wordpress的RSS feed时间码上的又一个bug,问题也是出自本地化(localization)上:RSS中的blog贴的时间不会自动根据用户设定的时区进行调整。

最初发现问题是由于我的rss经过feedburner烧烤之后,添加了我的del.icio.us的每日书签,但却发现我写的blog与美味书签链接在feed中的顺序颠倒了,而后恰好从车东那个帖子的更新内容中读到:

blogbus的RSS时间字段没有标记时区,+0800 因此发布后,缺省会认为是格林威治时间。导致比实际发布时间快8个小时:明明是当天早上8点发表的,显示发布时间却是未来:下午4点(16点)

于是检查我的feed,发现时区那里居然标记的是+0000,也就是默认的格林威治时间,很明显问题就出在这里,而我清楚地记得我已经在WordPress的管理后台将时区设定成了东八区的北京时间,也就是+0800。今天再到wordpress的网站上去确认了我对后台时区设定功能的理解没有错误,从网站上blog发表时间无误上看,我也相信我的设置是正确的。那么问题只能是出在RSS Feed没有自动读取用户设定的时区上,显然是WordPress的一个bug,又用rss 阅读器查看几个用Wordpress建的blog,发现了同样的问题。

手工修正这个问题其实很简单,用编辑软件打开wp-rss2.php,将+0000替换成+8000+0800,应该就可以解决,从我的feed上看已经正常了。

WordPress目前俨然已经成为继MT之后,又一个很受用户欢迎的blogware,根据WP的blog,下载的数量已经超过10万,但从我很短的WP使用经历来看,似乎blog圈对WordPress有点过誉了,WordPress还存在不少明显的小bug,虽然它有自己很多明显的优点,但在一些重要的细节问题的开发上考虑欠周至少说明它离成熟还有一段不短的距离。也希望WordPress的主要开发者Matt先不要想着如何用一些小技巧来获取更多的收入,更重要的是先将WordPress开发成真正受到大量blogger欢迎和使用的软件,到那时相信WP也能够找到自己的商业模式。

Tags: , ,

4 Comments to WordPress RSS Feed时间码的另一个bug

duduwolf
May 16, 2005

你好,问一个问题
我从feedburner添加了我的del.icio.us书签,可是不管我怎么修改,展现出来的feed中的del.icio.us书签都无法显示中文,是乱码,我看了你的feed,显示的非常好,想请教一下。

[...] RSS Feed不支持自定义的时区 这个问题别人在2005年4月就发现了,并且给出了简单解决方法(打开wp-rss2.php,将+0000替换成+0800)。可惜最新的WordPress2.0.2仍然没有修正这个BUG,看来WordPress作者也真够懒的。 [...]


November 25, 2006

更换服务器也有关系,以前的时间一直很正确,这次换了国外服务器以后发现时间不对了。。。

[...] 这个问题可能跟不同的工具对时间的阅读有不同的方式,从feed源代码来看,wordpress使用+0000,跟时区设置无关;不同的阅读器都使用自己的计算方法得出结果,所以才会出现我说的有3种时间。根据车东说的WordPress的中文RSS FEED日期问题,标准的日期必须为rfc 822格式,类似于<pubDate>Sun, 26 Dec 2004 21:48:09 +0800</pubDate>。wordpress的默认feed没有遵守标准,所以就出现了时间错乱的Bug。实际上这个Bug从1.5之前就存在,但是现在还是没有改掉。我先找到这篇文章,于是改了wp-includes/feed-rss2.php,把+0000改成+0800,后来又看到这篇文章,搞得人脑袋晕,不知道说的是什么道理。现在我的feed时间还是先遵守rfc 822标准格式,使用+0800,IE显示的源代码里的还是GMT时间,不是发表日志的北京时间,改了之后,safari里早了16小时,FeedDemon和Bloglines正确,Outlook 2007里早了8小时。真是让人搞不明白。 [本文最后由 Allen 于 2008年1月13日, 14:34 下午 修改] Permalink: http://www.bunorte.cn/wordpress/feed-timezone-bug.html [...]

Leave a comment

Search

Google Friend Connect