PressLine
先看一个例子:桑林志的 TimeLine。我用一种非常简陋的方法实现的。我把我的方法和代码放出来,希望有人能在此基础上改进,最好能做成插件的样子,方便一般 WordPress 用户使用。对,现在这个 PressLine 还不是插件,有很多问题待解决。
需要使用的文件有两个 timeline.php 和 timelinedata.php,可以在这里下载。
目前的使用方法(很简陋,不要笑话):
1、把这两个文件上传到你的 wordpress blog 的根目录。
2、在浏览器里指向 timelinedata.php,它运行后会生成一段 xml 数据,把它存为timelinedata.xml,上传到 wordpress blog 根目录。
3、如果顺利,在浏览器里指向 timeline.php,就可以看到效果了。
4、以你的喜欢修改 timeline.php 中这一句的时间(有两处。决定 load 后缺省的时间轴位置)。
date: “Jul 26 2006 00:00:00 GMT”,
说明:
PressLine 使用 MIT 一个叫 Timeline 的小程序。要使用它产生漂亮的 timeline,先得从 WordPress 中导出符合它要求的 xml 数据文件。还好格式很简单,我照猫画虎的写了一个 php 小程序:timelinedata.php。
导出后,我运行 timeline.php 弹出一些错误。原因是 timelinedata.xml 里面,有些帖子有特殊符号。我用浏览器打开 timelinedata.xml,根据浏览器的错误提示,找到那些特殊符号,把它们删除。循环操作,直到打开 timelinedata.xml 没有错误显示。把修改后的 timelinedata.xml 上传,这时应该没问题了。
对,现在没让它动态生成,而是用的很土的办法。因为像桑林志这样子几百个帖子,运行一次很耗资源的。需要 cache,但我只会一点点 php 编程。如果你只有很少几篇文章,而且不在乎耗费主机资源,而且生成的 timelinedata.xml 没有问题,你可以在 timeline.php 里面找到 timelinedata.xml,替换为 timelinedata.php,应该就可以了。
程序中缺省输出摘要,建议你使用中文 WordPress 工具箱,来获得真正截断了的摘要。如果不想使用摘要,可以把 timelinedata.php 中这一句:<?php the_excerpt_rss() ?> 删掉或注释掉。
因为这个 PressLine 还很不成熟,使用中遇见问题,请自己努力解决。
需要改进的事情:
1、解决生成的 xml 中间的特殊符号导致的问题,怎么把它们过滤掉。
2、怎么加入 cache 机制。
3、如果上面两条都做好了,可以把 PressLine 做成一个 WordPress 插件。
版权:
随意修改和再利用。如果觉得有帮助,给个到这里的链接。:)

July 26th, 2006 at 2:46 pm
[...] 我这个非程序员想着做一个相关的 WordPress 插件。我先粗略地 hack 了一下,过程和代码见这里,例子在这里:桑林志 TimeLine。希望有人能在此基础上,真地做出个 WordPress 插件。 [...]
October 21st, 2006 at 8:42 pm
很好啊@我现在也在使用。。就是每隔一段时间要手工生成一次xml有点麻烦。我也不懂代码@哈哈@。。。。
October 20th, 2007 at 6:47 pm
手工trackback,:)
PressLine 的 WordPress 插件:
http://avenger.name/blog/wordpress-plugin-pressline/
February 25th, 2008 at 2:44 pm
gAcTrp Auction slave