WordPress Related Posts改造成按分类检索

2011年2月21日 发表评论 阅读评论

WordPress Related Posts是一款按tag检索相关日志的wordpress插件。使用该插件的前提是,你的文章中必须有加入tag标签,如果没有标签只能按随机显示。

对于某些人来说,好不容易写完一篇日志,还要从正文中抽取tag是一件非常痛苦的事情。(别跟我说使用XX seo插件,这类插件精准度太低,还不如不用)定期重建tag更是耗费精力。

本文旨在帮助那些没有使用tag,但却想在wordpress中加入相关日志的朋友。闪电博客希望相关日志检索方案是利用日志所属分类,随机查询分类下的日志并按发表时间从现在到以前排序实现的。

这个方案,需要修改部分Wordpress Related Posts插件的代码,不过非常简单。首先,用文本编辑器打开插件目录下的wp_related_posts.php:
第一步
找到

$tags = wp_get_post_tags($post->ID);
$taglist = "’" . $tags[0]->term_id. "’";

替换为

$tags = wp_get_post_categories($post->ID, array(‘all_with_object_id’));
$taglist = "’" . $tags[0]. "’";

第二步
找到

$q = "SELECT p.ID, p.post_title, p.post_content,p.post_excerpt, p.post_date,  p.comment_count,
count(t_r.object_id) as cnt FROM $wpdb->term_taxonomy t_t, $wpdb->term_relationships t_r,
$wpdb->posts p WHERE t_t.taxonomy =’post_tag’ AND t_t.term_taxonomy_id = t_r.term_taxonomy_id
AND t_r.object_id  = p.ID AND (t_t.term_id IN ($taglist)) AND p.ID != $post->ID AND
p.post_status = ‘publish’ AND p.post_date_gmt < ‘$now’ GROUP BY t_r.object_id
ORDER BY cnt DESC, p.post_date_gmt DESC $limitclause;";

替换为

$q = "SELECT p.ID, p.post_title, p.post_content,p.post_excerpt, p.post_date,  p.comment_count
FROM $wpdb->term_taxonomy t_t, $wpdb->term_relationships t_r, $wpdb->posts p WHERE
t_t.taxonomy =’category’ AND t_t.term_taxonomy_id = t_r.term_taxonomy_id AND
t_r.object_id  = p.ID AND (t_t.term_id IN ($taglist)) AND p.ID != $post->ID AND
p.post_status = ‘publish’ AND p.post_date_gmt < ‘$now’ ORDER BY RAND() DESC,
p.post_date_gmt DESC $limitclause;";

OK,改写完毕。

WordPress Related Posts插件下载


转载请注明来自:[闪电博客]http://shandian.biz/339.html

分类: Wordpress 标签:
  1. 尼克软件
    2011年2月21日22:34 | #1

    你好,我今天看到你在我博客留言了 我已经将贵博客链接做到了我的博客主页 http://nikoim.blog.163.com/ 刚更新好 您可以去看看 谢谢

  2. 闪电博客
    2011年2月22日13:50 | #2

    @尼克软件
    OK,马上加上。

  3. 北京seo
    2013年2月27日13:37 | #3

    按分类随机调取时间倒序排列这个规则还是不错的,不过如果分类下内容较多的话,比较费数据库。

  4. 真人百家乐
    2013年12月2日06:13 | #4

    ,战争:用舌头解不开就用牙齿咬吧! ,憎恨别人就像为了逮住一只耗子而不惜烧毁你自己的房子

  5. 网络真钱游戏
    2013年12月5日19:44 | #5

    那些最终会让你陷进去的,一开始总是美好

  6. 全讯网
    2013年12月6日09:36 | #6

    ,做父母是个专业性很强的职业,可大部分的父母未经任何培训就上岗了

  7. 全讯网
    2013年12月7日09:15 | #7

    我不怕路太远找不到终点,就怕两个世界画不成一个圆 心中的爱和思念,都只是属于自己曾经拥有过的记念

  8. 百家乐
    2013年12月9日23:15 | #8

    牵手,生命线就交错

  9. 百家乐
    2013年12月20日10:14 | #9

    真正有气质的淑女,从不炫耀她所拥有的一切,她不告诉人她读过什么书,去过什么地方,有多少件衣服,买过什么珠宝,因为她没有自卑感

  10. 88娱乐城
    2013年12月25日15:24 | #10

    佛说人的生命在呼吸之间,我听闻暗自惭愧,因为我的生命还纠缠在QQ之间

  11. bet365
    2013年12月30日04:12 | #11

    有些东西,想起来总是很美好的,于是在你的想当然中,荒废了一场本来可以很开心的现实

  12. 全讯网
    2013年12月31日21:56 | #12

    对话要怎么说,表情才不难过

  13. 百家乐
    2014年1月1日02:20 | #13

    请珍惜你身边默默爱你的人

  14. 博彩网
    2014年1月6日15:26 | #14

    回得了过去,回不了当初

  15. bet365
    2014年1月6日15:27 | #15

    我的愿望:每天喝到自然醉,每天睡到自然醒 女人真奇怪,不该知道的事,她们全知道;该知道的事,她们反而不知道 古人讲:三思而后行;现代人讲究:而后D

  16. 真钱游戏
    2014年1月11日23:54 | #16

    (《老人与海》) .爱情应该给人一种自由感,而不是囚禁感

  17. 现金网排名
    2014年1月12日07:08 | #17

    (《浮士德》) .钟声又鸣响了 一声又一声,静谧而安详,即使在女人做新娘的那个好月份里,钟声里也总带有秋天的味道

  18. 88娱乐城
    2014年1月15日11:11 | #18

    有没有人和我一样,还在为了一个没有结果旳结果执着

  19. 百家乐
    2014年1月15日12:40 | #19

    男女之间,最昂贵的不是玩钱,是玩感觉

  20. 博彩公司排名
    2014年1月28日02:52 | #20

    原来你比我寂寞

  21. 全讯网
    2014年1月28日09:22 | #21

    哀莫过于心不死

  22. 投注
    2014年2月9日19:44 | #22

    没有所谓玩笑,所有的玩笑都有认真的成分

  23. 娱乐城
    2014年2月9日23:40 | #23

    我赢了所有人,但却输掉了你