侧边栏订阅插件 WP-SidebarReader

Aug 17th, 2008 Add Comment
WP-SidebarReader

我很喜欢 iGoogle 上一个叫 Joke of the Day 的 Gadget, 一直想模仿它做一个 WordPress 插件, 但因为有些问题觉得还无法解决, 所以一直就没动手, 直到昨天晚上心血来潮.

在制作的过程中, 觉得可以将这样一个插件抽象为一个简单的订阅器, 因为 RSS 的有固定的结构.
插件暂定名字为 WP-SidebarReader, 意为侧边栏上的订阅器.
目前可以选定一个 RSS 进行订阅, 可以设定条目数量. 因为功能还不能完全确定, 暂时不支持 Widget. 使用效果可以在本人 Blog 首页的侧边栏中看到.
目前仍是开发版本, 请谨慎使用.

安装:
1. 将压缩包解压到 {WordPress 的根目录}/wp-content/plugins/.
2. 登录你的 WordPress 后台, 到 Plugins 页面激活插件 WP-SidebarReader.
3. 打开 sidebar.php, 在适当位置追加以下代码:
<h3>订阅器</h3>
<ul><?php wp_sidebarreader(); ?></ul>

参数1:

描述 默认值
订阅的 RSS 地址 http://feed.neoease.com/

参数2:

名称 类型 描述 默认值
limit 整数 显示订阅条目的数量 5

你可以通过上面的参数改变最新评论的显示方式, 例如:
<?php wp_sidebarreader('http://sl.iciba.com/dailysentence/dailysentence.xml'); ?>
<?php wp_sidebarreader('http://feed.neoease.com/', 'limit=3'); ?>

插件下载: (该插件不再提供下载与技术支持.)

已知问题:
1. 条目和时间的关系
因为还没弄清楚 RSS 怎样准确定位内容 (XML 内没发现类似 ID 的属性), 所以我按照显示的排列顺序赋予条目一个编号. 但是这样会引发一个问题, 如:
现有 RSS, 别名 r0, 我们在页面上正确显示出它的前 n 项.
这时, 订阅服务器的信息被更新, r0 增加了一个条目, 变为 r1.
这时, r1 的第一条 r0 中没有, 第二条是 r0 的第一条, 第三条是 r0 的第二条...
当我试图展开订 r0 的第 n 条时, 实际是展开了 r1 的第 n 条, 也就是 r0 的 n+1 条.

2. RSS 稳定性
因为是即时读取处理的, 如果 RSS 不稳定会严重拖慢页面显示时间. Joke of the Day 的 RSS 就相当的不稳定, 所以我放弃了.

声明: 本文采用 BY-NC-SA 协议进行授权. 转载请注明转自: 侧边栏订阅插件 WP-SidebarReader

  1. http://0.gravatar.com/avatar/ada36a9afa4df078ff489fa2e4930e7c?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    我想知道你博客里那个translate是什么插件o.o

  2. http://0.gravatar.com/avatar/ada36a9afa4df078ff489fa2e4930e7c?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    还是被我给找到了

  3. http://0.gravatar.com/avatar/40564bf4f3dfe714cb43aab075485634?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    有正式版发布了吗?

  4. http://1.gravatar.com/avatar/32ecda1e15ee04c24a5ed11ba3516838?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    确实是不错,找了很久

  5. http://1.gravatar.com/avatar/9316d40ced141ee8ad337553207a8418?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    确实不错的软件了. WPer必备品

  6. http://0.gravatar.com/avatar/087ccf2bd9f9d0a22f8dc4566ad82a26?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    贵站做的真不错,很多值得我学习的地方呀。
    我刚做的站,希望站长和访客们都来捧捧场啊。 最后是能订阅一下。嘿嘿

  7. http://0.gravatar.com/avatar/6ca915462446f456fbd0aee43069edd2?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    第一次过来。。 感觉很不错。
    欢迎多多交流。

  8. http://0.gravatar.com/avatar/8bc5a10d6cd90aec2d2e24b53042856f?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    我也下载一个试试

  9. http://1.gravatar.com/avatar/365cff6a854db037729c4cafebe11645?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    是只能订阅一个rss吗?wp自带的widget就有订阅rss的呀……一个widget订阅一个rss,但可以放多个这种widget……

  10. http://0.gravatar.com/avatar/490cf262668eebb0f0f1a50d9d48d702?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    @muyee
    不知道今天 rss xml 怎么回事, 好像解析出问题了. 干脆撤了吧, 反正我订阅了.

  11. http://0.gravatar.com/avatar/09fe0e23139c093cdb32752ee9175119?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    Mg12,你的Daily Humor好像不能用噫,在我这里显示出好几个Warning出来了 :mrgreen:

  12. http://1.gravatar.com/avatar/7060dfb9a4706f749898fb7b915aa5da?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    mg12:
    @锐风
    就一个图, 一个颜色, 可以自己换换, 开发版不想做太多与功能无关的. 呵呵~

    建议采用 css 接口的方式来做.. 这样更和谐一点..

  13. http://1.gravatar.com/avatar/91ec3bf021b47eeb87510ae07070b80f?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    这个东西很不错啊,去找找有什么合适订阅的。

  14. http://0.gravatar.com/avatar/490cf262668eebb0f0f1a50d9d48d702?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    @锐风
    就一个图, 一个颜色, 可以自己换换, 开发版不想做太多与功能无关的. 呵呵~

  15. http://0.gravatar.com/avatar/490cf262668eebb0f0f1a50d9d48d702?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    @calcifer
    因为那个 RSS 突然又能用了, 可惜还很不稳定, 看来 Google 是将这些文件缓存起来用的.

  16. http://0.gravatar.com/avatar/cab963ed5a8f34ea97a0769184715808?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    你……终于下手了,good!~

  17. http://1.gravatar.com/avatar/7060dfb9a4706f749898fb7b915aa5da?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    建议把颜色替换下.
    因为像这种蓝色, 并不是适合各种风格的主题的.

  18. http://0.gravatar.com/avatar/0b8c305e8b312931ee21ca18d79eab35?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    1楼好专业,hoho!

  19. http://1.gravatar.com/avatar/17f8548adb054bd56791e3fcb6843085?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    好东西!!期待正式版

  20. http://1.gravatar.com/avatar/f97c4ec025d678dec50fa5a846b765b0?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    板凳!
    支持一下……

  21. http://1.gravatar.com/avatar/10e5731d1a8aed7f69f55e9f6dbc92d7?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    沙发~!

    XML 内没发现类似 ID 的属性

    XML要用ID的话,必须附带DTD文件说明哪个属性作为ID,而不是简单的写一个id='xxx'就可以的。