WordPress文章ID不连续问题的完美解决方法

原创 明月SEO  2017-04-05 11:33  阅读 1,156 次

wordpress程序制作的网站,都存在着文章ID不连续显示的问题。什么是WordPress文章ID不连续问题?也就是说如果我们的网站使用的是固定链接,那么在前台显示的ID相差会很大,比如第一篇文章是ID=2,那么第二篇可能就是ID=6或者ID=10了,这就是wordpress文章ID不连续显示的问题了。

当然如果你的固定链接中没有使用post ID,那么对你来说文章ID是透明的,也就无关紧要了。如果不在意ID不连续的用户也可以不关注此问题。对于非要看起来更美观一点,数据库更井井有条的“强迫症患者”来说。wordpress文章ID不连续则是一种无法言说的痛。今天明月SEO给各位心中有痛的人抚慰治疗。特意整理了一份相当完善的能解决ID不连续的问题的一套解决方法。

 一、禁用或者删除文章修订版

什么是文章修订版?就是你每次修改一次文章,系统默认会保存修改之前的文章内容的一个功能。能在误修改的情况下,快速的还原文章内容,解决错误丢失数据问题。但是解决了一个问题,却带来了另外一个问题。因为会导致数据库臃肿,文章URL不够美观等问题。其实这类功能犹如鸡肋,食之无味,弃之可惜。这个功能是导致文章ID不连续问题原因之一。

二.禁用自动保存或者无限延长自动保存时间

什么是自动保存草稿?就是在你新编辑发布文章之前,系统默认会定时保存编辑的文章内容。默认每1分钟一次,相当的频繁。通俗的说就是如果你发表一篇文章,编写了10分钟,那么系统就会自动保存了接近10篇草稿,占用近10个ID。自动保存草稿也是影响文章ID不连续的原因之一。

综上第一和第二,禁用文章修订版或删除文章修订版和禁用自动保存或无限延长自动保存时间的具体方法步骤请移步至:关闭WordPress修订版本和自动保存功能图文教程2017版

文章主要介绍了修改WordPress程序根目录下wp-config.php文件代码和修改主题文件夹下的functions.php文件代码。本文再此在补充一点:还要在后台 wp-admin/ 目录下的 post.php 和 post-new.php 文件中删除掉保存成草稿的代码,如果不删除掉,还是会产生ID号的。

post-new.php 注释掉 wp_enqueue_script(‘autosave’); 即可。

post.php 删除以下代码:

  1. /* if ( $last = wp_check_post_lock( $post->ID ) ) {
  2. add_action('admin_notices', '_admin_notice_post_locked' );
  3. } else {
  4. $active_post_lock = wp_set_post_lock( $post->ID );
  5. if ( 'attachment' !== $post_type )
  6. wp_enqueue_script('autosave');
  7. } */
  8. //$title = $post_type_object->labels->edit_item;
  9. //$post = get_post($post_id, OBJECT, 'edit');
  10. //if ( post_type_supports($post_type, 'comments') ) {
  11. //wp_enqueue_script('admin-comments');
  12. //enqueue_comment_hotkeys_js();
  13. //} 

 

WordPress网站文章编辑问题

三、删除或不上传不必要的附件

什么是附件?无非是图片、音乐、视频、下载文件、插件主题。插件主题在设置页面导航时可能会占用几个数据库的ID号,但这是很少量的ID号了,通常不去更换导航,基本上就可以忽略不计了

为什么要删除不必要的附件呢,因为对于WordPress程序网站来说,附件是占用文章ID的!附件也占用文章ID,附件也占用文章ID,附件也占用文章ID,重要的事情说三遍!

如果没用的附件我们肯定要删除,但是每篇文章搭配的图片,视屏,都是高相关有用的怎么办?目前还没有具体解决方案。我们只要知道附件占用文章ID,要想ID尽量连续,就不要上传多余的或者用处不大的等不必要的附件即可。如果你对自己的页面特洁僻的话,还可以通过 FTP 来上传附件不会占用ID。

四.重新排列不连续的文章ID

编辑当前主题目录下functions.php文件,添加以下代码到最后

function keep_id_continuous(){
global $wpdb;
// 删掉自动草稿和修订版
$wpdb->query("DELETE FROM `$wpdb->posts` WHERE `post_status` = 'auto-draft' OR `post_type` = 'revision'");
// 自增值小于现有最大ID,MySQL会自动设置正确的自增值
$wpdb->query("ALTER TABLE `$wpdb->posts` AUTO_INCREMENT = 1");
}
add_filter( 'load-post-new.php', 'keep_id_continuous' );
add_filter( 'load-media-new.php', 'keep_id_continuous' );
add_filter( 'load-nav-menus.php', 'keep_id_continuous' );

明月SEO友情提示,这个功能慎用,如果你的网站已经大量收录的情况下肯定没有必要用这个功能。因为每篇文章的路径和ID都是固定的且已经被收录。如果修改了文章ID,那么百度数据库存储的已经收录的文章则全部不能访问,就造成了大量的死链接。如果你的网站是新网站或者文章收录量较少的情况下,修改即可。

综合来说,三和四都是需要注意的,慎用。所以重点落在了一和二,核心还是在于解决修订版本和自动保存的问题。想解决核心问题?点击直达:http://www.brightmoonseo.com/build/625.html

 

 

本文地址:http://www.brightmoonseo.com/build/697.html
关注我们:请关注一下我们的微信公众号:扫描二维码,公众号:明月网络营销
版权声明:本文为原创文章,版权归 明月SEO 所有,欢迎分享本文,转载请保留出处!
西安网站制作

发表评论


表情

  1. 身份证
    身份证 【农民】 @回复

    网站弄得挺不错的,有空多多交流!