月光博客

青青子衿, 悠悠我心, 但为君故, 沉吟至今

« 博客文章复制自动加版权信息FeedSky域名绑定新方法 »

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的功能中就比较好用了。



原创文章如转载,请注明:转载自月光博客 [ http://www.williamlong.info/ ]

本文链接地址:http://www.williamlong.info/archives/1185.html
  • 文章排行:
  • WordPress SimpleTags的修改建议(引用)
  • PHP网站技术收集
  • WordPress在2.3版本以前出过不少Tags插件,自从WordPress 2.3支持Tags后,这些第三方插件大多转换为管理和维护系统自带Tags的功能,其中比较出名的是SimpleTags插件,这个插件有中文语言包,使用起...
  • 2007-12-29 11:54:44
  • 1.oxygen
  • ecvip.org/
  • 好,这个插件一定会很好用了。

    不少插件对中文的支持总是不好,期待中文界有更多优秀插件,诸如月光类。
  • 2007-12-26 21:59:18   回复该留言
  • 4.linker
  • 我的英文博客伴随着月光的wordpress插件一块成长!
  • 2007-12-26 23:03:01   回复该留言
  • 6.真水无味
  • eqiup.com
  • zblog已经使用定型
    要是可以转换的话
    还是选择wp
    --
    也许,这个要靠月光了
  • 2007-12-27 0:03:50   回复该留言
  • 8.colder
  • vitarn.com
  • $search_sql = "AND ( (post_title LIKE '%{$search}%') OR (post_title LIKE '%{$search}%') )";

    这是不是对标题搜索两遍?
  • 2007-12-27 7:27:45   回复该留言
  • 13.ajax
  • 柜员机取出假钱--->银行无责

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

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

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

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

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

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

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


  • 2007-12-27 13:02:57   回复该留言
  • 17.飞月
  • zblog还有很多需要改进的地方!定型只是6楼自已的博客吧~~~
  • 2007-12-27 16:25:54   回复该留言
  • 21.jksearch.cn
  • 文章多了以后,tag运行的特别慢。。。
  • 2007-12-27 23:42:15   回复该留言
  • 23.maasen
  • wordpress中使用simple tags功能非常强大,但是对于中文标签的支持有很多问题。
    第一个问题:标签云中的中文标签显示为乱码,导致查询失败
    修改:wp-includes/classes.php:
    第45行
    if ( isset($_SERVER[’PATH_INFO’]) )
    $pathinfo = $_SERVER[’PATH_INFO’];
    else

    中黑体部分修改为:
    $pathinfo = mb_convert_encoding($_SERVER[’PATH_INFO’],”UTF-8″,”GBK”);

    第50行
    $req_uri = $_SERVER[’REQUEST_URI’];
    修改为:
    $req_uri = mb_convert_encoding($_SERVER[’REQUEST_URI’], “UTF-8″,”GBK”);

    第二个问题:点击标签之后的查询结果页面上分页链接上中文标签显示乱码,导致查询失败
    修改:
    wp-includes/link-template.php:第516行
    $result = $base . $request . $query_string;
    修改为:
    $result = $base . mb_convert_encoding($request,”UTF-8″,”GBK”) . $query_string;
    本文链接地址:http://www.no1focus.com/archives/web/simpletagschinese.html
  • 2008-3-27 18:05:27   回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

订阅博客

  • 订阅我的博客:订阅我的博客
  • 通过Google订阅本站
  • 通过鲜果订阅本站
  • 通过电子邮件订阅本站

站内搜索

热文排行

最新评论及回复

最近发表

网站收藏

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本站内容必须也遵循“署名-非商业用途-保持一致”的创作共用协议.

This site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.