月光博客 » 编程开发 » WordPress SimpleTags的修改建议

WordPress SimpleTags的修改建议

  WordPress在2.3版本以前出过不少Tags插件,自从WordPress 2.3支持Tags后,这些第三方插件大多转换为管理和维护系统自带Tags的功能,其中比较出名的是SimpleTags插件,这个插件有中文语言包,使用起来比较方便。

  不过我在使用过程中,发现SimpleTags最新版本1.2.4的“批量编辑标签”有部分缺陷,我这里给出了两个缺陷的修改方法:

  1、 搜索功能(Search terms)存在问题:SimpleTags使用了全文的搜索,只要文章内容包含关键字就匹配,这会造成大量错误匹配,我将其修改为只匹配文章的标题。

  修改:simple-tags\inc\simple-tags.admin.php文件,找到1466行,将原来的

  $search_sql = "AND ( (post_title LIKE '%{$search}%') OR (post_content LIKE '%{$search}%') )";

  修改为:

  $search_sql = "AND ( (post_title LIKE '%{$search}%') OR (post_title LIKE '%{$search}%') )";

  2、无标签搜索(untagged only)存在问题:当文章数量非常大的时候,这个功能会出现错误,不返回正常的内容,我将原先代码中的SQL语句进行了修改,大大提高了搜索效率和速度。

  修改:simple-tags\inc\simple-tags.admin.php文件,找到1475行,将原来的

$p_id_used = $wpdb->get_col("
SELECT DISTINCT term_relationships.object_id
FROM {$wpdb->term_taxonomy} term_taxonomy, {$wpdb->term_relationships} term_relationships, {$wpdb->posts} posts
WHERE term_taxonomy.taxonomy = 'post_tag'
AND term_taxonomy.term_taxonomy_id = term_relationships.term_taxonomy_id
AND term_relationships.object_id  = posts.ID
AND posts.post_type = '{$type}'");

$filter_sql = 'AND ID NOT IN ("'.implode( '", "', $p_id_used ).'")';

  修改为:

$p_id_used = "SELECT DISTINCT term_relationships.object_id
FROM {$wpdb->term_taxonomy} term_taxonomy, {$wpdb->term_relationships} term_relationships, {$wpdb->posts} posts
WHERE term_taxonomy.taxonomy = 'post_tag'
AND term_taxonomy.term_taxonomy_id = term_relationships.term_taxonomy_id
AND term_relationships.object_id  = posts.ID
AND posts.post_type = '{$type}'";

$filter_sql = 'AND ID NOT IN ('.$p_id_used.')';

  经过这两处修改,SimpleTags的批量修改日志Tag的功能中就比较好用了。

顶一下 ▲()   踩一下 ▼()

相关文章

  1. 1
    不错   说道:
    收了````
    支持(10反对(4回复
  1. 2
    linker   说道:
    我的英文博客伴随着月光的wordpress插件一块成长!
    支持(9反对(5回复
  1. 3
    ajax   说道:
    柜员机取出假钱--->银行无责

    网上银行被盗--->储户责任

    柜员机出现故障少给钱--->用户负责

    柜员机出现故障多给钱--->用户盗窃,被判无期

    银行多给了钱--->储户义务归还

    银行少给了钱--->离开柜台概不负责

    声明:如果你觉得作为消费者,全中国十三亿储户不公平的,请转发。

    本人一般不转发,这个要转


    支持(11反对(7回复
  1. 4
    chat   说道:
    不敢改,又不懂代码
    支持(9反对(5回复
  1. 5
    数据库之家   说道:
    不懂代码,我们菜鸟级的,
    支持(8反对(4回复
  1. 6
    lelesky   说道:
    今天评论怎么这么少?
    支持(7反对(4回复
  1. 7
    YY   说道:
    老规距,留个言.
    支持(8反对(5回复
  1. 8
    Guwei   说道:
    这几天出的插件不少啊,HOHO
    支持(8反对(6回复
  1. 9
    杀鸡敬猴   说道:
    学习了~感谢分享
    支持(6反对(4回复
  1. 10
    oxygen   说道:
    好,这个插件一定会很好用了。

    不少插件对中文的支持总是不好,期待中文界有更多优秀插件,诸如月光类。
    支持(11反对(10回复
  1. 11
    东兴   说道:
    不敢改,又不懂代码
    支持(9反对(8回复
  1. 12
    JackyCheung   说道:
    强...正需要的时候就找到了
    支持(11反对(11回复
  1. 13
    chada   说道:
    很棒的修改,收藏之~
    支持(8反对(8回复
  1. 14
    Uhlan   说道:
    en,这个插件正在用...
    支持(5反对(5回复
  1. 15
    jksearch.cn   说道:
    文章多了以后,tag运行的特别慢。。。
    支持(7反对(8回复
  1. 16
    sky   说道:
    每次来过都能知道点新的东西啊
    支持(6反对(7回复
  1. 17
    vince   说道:
    等我有了属于自己的空间,也是非WordPress莫属。
    支持(5反对(7回复
  1. 18
    真水无味   说道:
    zblog已经使用定型
    要是可以转换的话
    还是选择wp
    --
    也许,这个要靠月光了
    支持(9反对(11回复
  1. 19
    colder   说道:
    $search_sql = "AND ( (post_title LIKE '%{$search}%') OR (post_title LIKE '%{$search}%') )";

    这是不是对标题搜索两遍?
    支持(7反对(9回复
  1. 20
    wister   说道:
    多谢了。先收藏了。
    支持(6反对(10回复
  1. 21
    redleaffly   说道:
    我都是用英文的
    支持(6反对(10回复
  1. 22
    javascriptfunction   说道:
    呵呵,银行无耻啊。。。。。。。。。。。。。。。。。。。。。。
    支持(7反对(11回复
  1. 23
    飞月   说道:
    zblog还有很多需要改进的地方!定型只是6楼自已的博客吧~~~
    支持(7反对(11回复
  1. 24
    鼠神泪   说道:
    我来留个脚印。
    支持(9反对(14回复
  1. 25
    sandianyangguang   说道:
    清楚来,学习!
    支持(6反对(11回复
  1. 26
    anliu   说道:
    还是不敢修改啊!
    支持(9反对(14回复
  1. 27
    青苹果   说道:
    我们菜鸟级的,还是不敢改,能出个视频教程更好,先谢了。
    支持(6反对(11回复

发表留言