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 插件。

版权:

随意修改和再利用。如果觉得有帮助,给个到这里的链接。:)

“PressLine” 有 4 个回响

  1. 1
    桑林志 » WordPress Timeline 说:

    [...] 我这个非程序员想着做一个相关的 WordPress 插件。我先粗略地 hack 了一下,过程和代码见这里,例子在这里:桑林志 TimeLine。希望有人能在此基础上,真地做出个 WordPress 插件。 [...]

  2. 2
    doo 说:

    很好啊@我现在也在使用。。就是每隔一段时间要手工生成一次xml有点麻烦。我也不懂代码@哈哈@。。。。

  3. 3
    avenger 说:

    手工trackback,:)
    PressLine 的 WordPress 插件:
    http://avenger.name/blog/wordpress-plugin-pressline/

  4. 4
    KgyiN 说:

    gAcTrp Auction slave

敬请留言

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>