导入Wordpress文章后出现分类重复的问题

转载本博客文章请注明作者Elton Disney和文章永久链接,谢谢!

今天穷人小朋友与我Gtalk,问我本地化的WP博客在导入在线博客的文章时会不会出现分类重复的情况。因为我在搭建了本地化WP之后一直没有做过导入文章的事情,因此刚把永远不老的文章导入到本地博客之后,发现一些文章分类出现了重复的情况。

这是第一次遇到这种问题,也不知道该怎么解决。于是随便看了一下这些重复的分类的情况,发现,重复且分类下没有文章的标签都是中文分类但是使用了缩略名使用了英文,而英文分类和缩略名是中文的分类没有重复。

分类

比如我的这个分类列表,可以看出来,“纯粹搞笑”这个分类有两个,一个下面有文章,一个没有,实际上,我没有建立这么多的分类,这是Wordpress自己多情弄出来的。而“网络生活”和“联想无罪”却没有这样的情况。进一步观察发现,这个没有文章的分类的缩略名是 just-for-fun,是我在线的时候建立的,而另外一个分类的缩略名是纯粹搞笑中文的UTF-8字符代码。

纯粹搞笑  分类  下面没有文章

纯粹搞笑 分类下有文章

而其他的没有重复的分类要不就是直接的英文名字分类,如The Reason,要不就是中文名称,UTF-8编码的缩略名,如网络生活的分类。

类似的问题曾经出现在2.5及之前版本的Wordpress中,那时候是标签出现重复,也就是说,但是要是你预先建立了“艾迪”这个标签,缩略名是用的是“elton-disney”,而在写文章的时候,你直接填入“艾迪”作为文章标签,就会出现2个“艾迪”标签的情况,其中一个的缩略名是“elton-diseny”,而另一个则是“%E7%B2%BE%E5%BD%A9%E4%B8%BB%E9%A689%”的UTF-8编码。

当时Wordpress给出的解决方法是

1. 打开 <WordPress>/wp-includes/taxonomy.php ,大约 746 行附近:

  1. if ( ” === $term = sanitize_title($term) )
  2. return 0;
  3. $where = $wpdb->prepare( "t.slug = %s", $term );

修改为:

  1. if ( ” === $sanitized = sanitize_title($term) )
  2. return 0;
  3. if ( ‘post_tag’ === $taxonomy ) {
  4. $where = $wpdb->prepare( "(t.slug = %s OR t.name = %s)",$sanitized , $term );
  5. } else {
  6. $where = $wpdb->prepare( "t.slug = %s", $sanitized );
  7. }

2. 打开 <WordPress>/wp-admin/wp-includes/taxonomy.php ,大约 136 行附近:

  1. $tags_to_edit = join( ‘, ‘, $tag_names );

修改为:

  1. $tags_to_edit = join( ‘,’, $tag_names );

现在2.6以上版本已经解决的标签重复的问题,但是却没有考虑到导出导入文章之后会出现分类重复的情况。

暂时我认为可行的解决方法就是将所有的中文分类的缩略名换为相应的中文,Wordpress会自动转化为UTF-8编码,然后再导入的话就不会出现分类重复了。当然,这只是最无奈的方法了。

要是所有人都出现这种问题,而2.7版没有解决的话,就要考虑将这问题提交给Wordpress开发团队了。

要是有哪位知道解决办法,请不吝赐教。

Add to Technorati Favorites 立即注册PayPal并开始接受信用卡付款。

相关文章:

8 条评论 to “导入Wordpress文章后出现分类重复的问题”

  1. 雪深 说:

    分类重复直接del就可以 文章重复就难了

    回复

    Elton Disney 回复:

    @雪深, 直接Del是可以,但是总感觉很不爽,而且我这样的懒人们总是想别人帮忙~~
    还是等着官方把这个问题解决吧

    回复


  2. 穷人 说:

    我只有忍了……

    回复

    Elton Disney 回复:

    @穷人, 忍一时风平浪静~~
    有空就去删删分类吧,锻炼手指劲的~~哈哈

    回复


  3. 穷人 说:

    最新发现,我在本地和空间都安装上了2.7的beta-3版,终于导入成功了,我上午不是只能导入60篇吗?现在可以导入玩69篇了,本来因为重复问题而苦恼,但是现在可以完全导入我就很高心了……

    回复

    Elton Disney 回复:

    @穷人, 话说我今天下午本地化2.7 beta3没有成功,不知道怎么搞的~~

    回复


  4. Mao 说:

    前几天测试过 …现在的2.7版还是没有解决的

    回复

    Elton Disney 回复:

    @Mao, 那以后就只能手动删除了~
    哎~~

    回复


请留下评论 ||(为防止Spam,请保证评论中至少含有一个中文字符)

XHTML: 你可以在评论中使用这些标签: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Subscribe