主机评测网,专注vps、独立服务器等主机评测
最专业的主机评测网站

如何解决WordPress中文章ID不连续的问题(完美方法)

如何解决WordPress中文章ID不连续的问题(完美方法)

如何解决WordPress中文章ID不连续的问题?下面这篇文章将和大家分享WordPress对文章ID不连续问题的完美解决方案,希望对你有所帮助!

如何解决WordPress中文章ID不连续的问题(完美方法)

有很多WordPress博客在他们的固定链接中使用文章ID,但是WordPress由于各种原因导致文章ID不连续的问题,博主经常在论坛中提问解决这个问题,但是很少得到满意的答案。

今天,我要告诉你如何完美解决这个问题。说是完美,可能有点过了。WordPress 3.0以后会有自动草稿,每发表一篇文章都会占用两个ID号。目前没有办法禁用。请继续看如何在一定程度上解决文章ID不连续的问题。

当然,如果你的固定链接中没有使用post ID,那么文章ID就是透明的,与你无关。即使在固定链接中使用了post ID,你不特别注意也没关系,这篇文章对你也没多大意义。

首先,禁用文章的修订。所谓文章修改,就是你每次修改文章,它都会自动帮你保存文章修改前的版本。专业术语叫版本控制,保证在修改不正确的情况下,可以恢复之前的内容。这对wiki文档的维护很有帮助,但作为我们的小博客,似乎用处不大,而且这个修改占用了数据库中的一个ID,这也是导致文章ID不连续的问题之一。要禁用文章修订,您可以添加:

定义(& # 39;WP _ POST _ REVISIONS & # 39,假);您也可以在当前主题的functions.php中添加以下PHP代码:

//禁用修订版,更新add _ filter(& # 39;wp _ revisions _ to _ keep & # 39, 'specs _ WP _ revisions _ to _ keep & # 39;, 10, 2 );函数specs _ WP _ revisions _ to _ keep($ num,$ post){ if(& # 39;post _ type & # 39= = $ post-& gt;post _ type)$ num = 0;返回$ num}二、删除文章的修订版在文章的修订版被禁用后,之前已经创建的文章的修订版仍然保存在数据库中。这些其实用处不大,占用ID,我们可以删除。至于如何删除,可以在phpmyadmin中执行下面的SQL语句(会影响到置顶文章,一定要小心!并做好备份):

从wp_posts中删除a,b,cf aLEFT JOIN WP _ term _ relationships b ON(a . ID = b . object _ ID)LEFT JOIN WP _ postmeta c ON(a . ID = c . post _ ID)其中a.post _ type = & # 39修订& # 39;;第三,删除不必要的附件。我相信很多博主在发布文章的时候都会同时上传/插入一些附件,比如图片、视频、音乐等。这些附件可以在WordPress管理后台-媒体库看到,不同的媒体对应不同的文章。但是你要注意,这些媒体也占用了文章ID,它们和文章存储在同一个数据库表wp_posts中。如果你特别希望文章的ID是完美连续的,请不要在发布文章时上传/插入这些媒体,请在WordPress管理后台-媒体库中删除之前上传的媒体(注意这个操作不仅会删除记录,还会删除你上传的文件),必要时请使用FTP重新上传这些文件。

四、禁用自动保存的好处是,当你编辑一篇文章时,系统会每隔一小段时间自动为你保存编辑好的文章,防止网页突然关闭,导致之前写的几千字丢失。缺点是每篇文章都会有一条自动保存的记录,也占用了一个文章ID,这也是文章ID不连续的原因之一。如果不需要这个功能,可以在当前主题的functions.php中添加以下代码:

//禁用自动保存,所以在编辑长文章之前请注意手动保存。add _ action(& # 39;admin _ print _ scripts & # 39,create _ function(& # 39;$ a & # 39,& quotWP _ de register _ script(& # 39;自动保存& # 39;);”) );五、重新排列不连续的文章ID方法一:可以在当前主题的functions.php中添加以下PHP代码,这样如果只是简单的发布文章,不发布页面,不添加菜单,不上传媒体,基本上之后的文章ID是连续的,并且不改变之前发布的文章ID,不影响SEO:

// WordPress 3.8测试有效函数keep _ id _ continuous(){ global $ wpdb;//删除$ wpdb-& gt;的自动草稿和修订版;查询(& quot从“$ wpdb-& gt;posts` WHERE `post _ status` = & # 39自动草稿& # 39;或者’ post _ type `= & # 39;修订& # 39;”);//如果自增量小于现有的最大ID,MySQL会自动设置正确的自增量$ wpdb-& gt;查询(& quot更改表“$ wpdb-& gt;posts` AUTO _ INCREMENT = 1 & quot);} add _ filter(& # 39;load-post-new . PHP & # 39;, 'keep _ id _ continuous & # 39);add _ filter(& # 39;load-media-new . PHP & # 39;, 'keep _ id _ continuous & # 39);add _ filter(& # 39;load-nav-menus . PHP & # 39;, 'keep _ id _ continuous & # 39);如果使用顶级文章、菜单和父子页面,以下方法将失败:

方法二:完成以上步骤后,基本保证以后发布的文章id是连续的,但是之前发布的文章id还是乱七八糟的,还得重新排列,保证id连续。我写了一个PHP脚本。你可以从下面的网站下载,用文本编辑器打开,按照开头的说明修改数据库信息,然后把PHP文件上传到你的博客空间。只是运行它,看看OK。可以在phpmyadmin中检查wp_posts表中的id是否连续。同样,请在开始之前备份您的数据库。(如果用帖子id作为固定链接,很可能会改变所有文章的网址,影响搜索引擎收录;如果用插件创建新的数据库表,比如投票插件,也会有问题;如果您在博客中创建了一个父子关系页面,那么如果运行以下脚本,您将会失去这种关系。请慎用!)

如何解决WordPress中文章ID不连续的问题(完美方法)

推荐学习:WordPress教程

以上是如何解决WordPress中文章ID不连续问题的详细内容(完美方法)。更多请关注草根吧VPS其他相关文章!

:如何解决WordPress中文章ID不连续的问题(完美方法) https://vps.caogenba.com.com/93772.html

赞(0) 打赏
未经允许不得转载:主机测评 » 如何解决WordPress中文章ID不连续的问题(完美方法)

评论 抢沙发

登录

找回密码

注册