当前位置: 首页 > 齐分享 > 正文

彻底解决WordPress文章ID不连续的问题

  涛涛友情提示:本文所谈到的方法不适用于WordPress3.1及其以后版本,如有解决办法,会及时更新。

  涛涛承认自己是个ID控,接触WordPress时间不长,但是绝对不能容忍乱七八糟的ID,写一篇长点的文章能给我占用N多ID,占着茅坑不拉屎还像话么?

  言归正传,首先需要说明,网上也有类似帖子,但是根治不彻底,比如新建文章从旧的ID开始排列,很让我讨厌,步骤如下:

  1、您需要备份自己的数据库和需要更改的相关文件。

  2、安装插件WP Cleaner,作用是删除所有冗余修订版,也就是草稿文章,该操作是不可逆的,涛涛测试没有问题,但是还是建议大家做好备份

  3、修改已有文章ID,SQL脚本,请在phpmyadmin中执行。由于涛涛的文章少,所以手动执行的,本步骤会影响到搜索引擎的收录,下面提供两个方法:

  方法A,自动重新排列搜有文章ID,此方法未经涛涛测试,慎重使用

ALTER TABLE 'wp_posts' DROP 'ID';
OPTIMIZE TABLE 'wp_posts';
ALTER TABLE 'wp_posts' ADD 'ID' BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;

  方法B,手动执行,每次更改一篇文章的ID,如果文章多,工作量会比较大:

update wp_posts set id = 1 where id = 100;
update wp_term_relationships set object_id = 1 where object_id = 100;
update wp_postmeta set post_id = 1 where post_id = 100;
update wp_comments set comment_post_ID = 1 where comment_post_ID = 100;

  本命令的含义是将ID为100的文章ID改为1,注意先后顺序。

  4、打开wp-config.php文件,在 $table_prefix = ‘wp_’; 前面添加代码

define('WP_POST_REVISIONS', false);
define('AUTOSAVE_INTERVAL', false);

  含义在于关闭默认的版本记录以及自动保存草稿功能。

  5、在以下两个文件中找到代码 wp_enqueue_script(‘autosave’); 给他注释或者删掉:

  wp-admin\post-new.php(大概位置46行)

  wp-admin\post.php(大概位置177行)

  6、找到并打开 wp-admin\includes\post.php 文件,找到 if ( $create_in_db ), 在它的前一行添加

$create_in_db = false;

  7、安装插件 Restore Post Id,作用是恢复文章ID,新建文章将接着之前重新排列后的ID开始,也可以手动执行SQL命令:

alter table wp_posts AUTO_INCREMENT=N

  这里的N是你需要新建文章时开始的ID,比如之前最后一篇文章的ID是100,这里N就等于101。

  通过以上7步骤, 就可以完全解决WordPress文章ID不连续的问题了,有洁癖的童鞋一起行动吧!

  哦,对了,还有一点忘了,至于博文中的图片,不要用WordPress中上传工具上传,那样图片会占用一个ID,建议使用FTP上传后直接插入。



本文固定链接: http://zmt.me/post/10.html | 涛涛的博客

该日志由 涛涛 于2010年11月20日发表在 齐分享 分类下, 通告目前不可用,你可以至底部留下评论。
原创文章转载请注明: 彻底解决WordPress文章ID不连续的问题 | 涛涛的博客
关键字:

彻底解决WordPress文章ID不连续的问题:目前有18 条留言

  1. Firefox 3.6.13 Firefox 3.6.13 Windows XP Windows XP

    wp_posts里面的post_type可以是attachment,post,page,revision这4种,博主的page的id是怎么处理成连续的? :yw

    2011-01-21 下午 1:50 [回复]
    • Internet Explorer 6.0 Internet Explorer 6.0 Windows XP Windows XP

      最近有事,今天才看到。
      attachment是附件,用FTP上传;revision是版本记录,也就是自动保存的;Page不清楚是神马东西,貌似没有研究过,不过按照这个办法完全可以解决ID不连续的问题。

      2011-01-23 下午 6:35 [回复]
      • Firefox 4.0 Firefox 4.0 Windows 7 Windows 7

        page就是页面嘛,页面也会占用Post id的。

        2011-04-18 上午 9:19 [回复]
  2. 6楼
    smilebull:
    Google Chrome 7.0.517.44 Google Chrome 7.0.517.44 Windows 7 Windows 7

    我直接delete from wp_posts where post_type = ‘revision’;清除,只是ID连续还不行

    2010-12-12 下午 4:59 [回复]
    • Internet Explorer 8.0 Internet Explorer 8.0 Windows XP Windows XP

      @smilebull, ID不连续可能还因为你上传的图片文件占用了ID,到数据库POST下面查一下就知道了。

      2010-12-12 下午 5:23 [回复]
      • 风花絮:
        Safari 5.1 Safari 5.1 iPad iOS 5.1.1 iPad iOS 5.1.1

        是用什么样的命令?谢谢!

        2012-12-04 下午 11:04 [回复]
        • Internet Explorer 8.0 Internet Explorer 8.0 Windows XP Windows XP

          你想达到什么目的?需要的执行的命令在文中已经有写到。 😀

          2012-12-04 下午 11:33 [回复]
  3. 5楼
    smilebull:
    Google Chrome 7.0.517.44 Google Chrome 7.0.517.44 Windows 7 Windows 7

    不错不错,做个记号,慢慢学习 :gz

    2010-12-11 下午 5:39 [回复]
    • Internet Explorer 8.0 Internet Explorer 8.0 Windows XP Windows XP

      @smilebull, 没什么可学习的,这个完全可以不用插件实现,我觉得用SQL命令比插件要干净。我后台安装的清理的插件是WP Cleaner,觉得比较好。

      2010-12-11 下午 5:51 [回复]
  4. 4楼
    无名:
    Google Chrome 9.0.576.0 Google Chrome 9.0.576.0 Windows XP Windows XP

    貌似我对ID没有多大的要求!
    只要文章能显示就可以了……

    2010-12-04 下午 9:03 [回复]
    • Internet Explorer 8.0 Internet Explorer 8.0 Windows XP Windows XP

      @无名, 我看着就难受,想当初,写了5篇文章,ID就到100多了,真不知道WP的工程师是怎么想的。。。

      2010-12-04 下午 9:08 [回复]
  5. 地板
    Dianso:
    Google Chrome 7.0.517.44 Google Chrome 7.0.517.44 Windows 7 Windows 7

    这么复杂,又专门的工具都,连评论都能自动转移

    2010-11-23 下午 4:12 [回复]
  6. 板凳
    oalleno:
    Firefox 3.6.12 Firefox 3.6.12 Windows 7 Windows 7

    有个笨办法,就是一次性连续建立草稿,ID号自然就连续了…

    2010-11-20 下午 4:54 [回复]
    • Internet Explorer 8.0 Internet Explorer 8.0 Windows XP Windows XP

      @oalleno, 这个。。。囧。。。

      2010-11-20 下午 5:00 [回复]
  7. Internet Explorer 6.0 Internet Explorer 6.0 Windows XP Windows XP

    不明白这个是什么意思

    2010-11-20 下午 1:07 [回复]
    • Internet Explorer 8.0 Internet Explorer 8.0 Windows XP Windows XP

      @重庆时时彩, 就是说,每篇文章都会有一个唯一的数字编号,这个就是ID,最新的WP版本里这个玩意很乱,不连续,然后需要让所有文章都连续在一起。

      2010-11-20 下午 1:27 [回复]

发表评论


快捷键:Ctrl+Enter

无觅相关文章插件,快速提升流量