将在豆瓣收藏的内容添加到 WordPress

June 3rd, 2008 | Tags: , ,

早晨收到车东(chedong.com)在豆瓣上加我为好友的邮件通知,去豆瓣转了一圈。翻翻自己的收藏夹,突然很想把自己收藏的东西同步显示到博客的边栏上。于是搜索了一下装了一个 d4rss 插件,这个插件可以在边栏或者文章里显示 RSS 标题和链接。但是看来看去都觉得有点美中不足,豆瓣的收藏RSS中的链接都是指向你在豆瓣上的收藏页面的,也就是每个条目的链接都是同一个地址,而且都是标题,混杂在一堆标题当中实在看不见。要是可以将缩略图显示在上面,而且每个条目的链接都是douban.com上的相关页面就好了。查看了一下RSS的内容,其中的 <description> 标签里的内容不多不少就完全符合我的要求了。

d4rss只有一个d4rss.php文件,打开看了一下修改了如下几个地方,不过经我这么一修改几乎成了豆瓣专用的了,如果需要兼容其他 RSS 请自行修改判断条件。

修改 1:

$last_url = $wpdb-&gt;get_var("SELECT url FROM $tableentries WHERE source_id=".$source-&gt;id." ORDER BY time DESC");

原来d4rss会取得新的url和已经被获取到数据库中的最后一个RSS记录中的url比较,如果发现一样就会跳过,其实这个逻辑对豆瓣收藏RSS是不是用的,因为所有条目的url都是一样的,我把它改成通过title来比较。

$last_title = $wpdb-&gt;get_var("SELECT title FROM $tableentries WHERE source_id=".$source-&gt;id." ORDER BY time DESC");

修改2:

上面获取的内容改了,自然比较的地方也要改一下

if ($last_rul === $tag[url])
break;
else

改成

if ($last_title === $tag[description])
break;
else

修改3:

最后将 description 当成 title 存储进 title 字段就可以啦

$title=$wpdb-&gt;escape(html_entity_decode($tag[title]));

改成

$title=$wpdb-&gt;escape(html_entity_decode($tag[description]));

还需要改一下 d4rss 原先的设定,在 “设置”->”d4rss”

把条数改成 5, 我觉得这个数量比较合适,长度改成 500, 否则d4rss就会帮你改成 http://url.com/fol…page.html 这样,会让你的页面乱套的。

最后一运行,发现,还是有问题。打开数据库一看,原先的 title 字段是 tiny_text 属性,改成 long_text。

ok, 效果看我的边栏“我在看,我在听”。

需要我修改好的文件,留下你的email。

相关日志

  1. June 30th, 2008 at 16:39
    Reply | Quote | #1

    太好了!!给我个吧!!lee-l@qq.com

    Reply

    admin reply on July 2nd, 2008 19:55:

    发给你了

    Reply