文章目录
本文最后更新于 2020-08-17,已超过 365 天未更新,内容可能已失效。

一、禁用文章修订版

如果你的站点大多数都是文章,页面很少(PS:所占用的 ID 可忽略),并且站点所使用的图片/附件都不是通过 WordPress 后台上传的(PS:通过 FTP 直接上传到后台指定文件夹,或在其他存储空间直接上传,比如七牛),那么建议采用本方法,那就是:禁用 WordPress 的修订版本,并修改自动保存的时间。(PS:据说直接取消自动保存功能好像不太起作用,所以建议直接修改自动保存时间比较好)

打开 WordPress 根目录下的 wp-config.php 文件,在 define(‘WP_DEBUG’, false); 之后添加以下代码:

//自动保存10小时一次

define('AUTOSAVE_INTERVAL', 36000);

//禁用修订版本

define('WP_POST_REVISIONS',false);

二,重新排列不连续的文章ID

可在当前主题的functions.php中加入以下PHP代码,这样如果你只是单纯发文章,不发页面,不添加菜单,不上传媒体的话,基本上此后的文章ID是连续的,而且不改变之前已经发布的文章ID,不影响SEO:

// 禁用修订版本,2015年3月5日更新
add_filter( 'wp_revisions_to_keep', 'specs_wp_revisions_to_keep', 10, 2 );
function specs_wp_revisions_to_keep( $num, $post ) {
   if ( 'post_type' == $post->post_type )
      $num = 0;

   return $num;
}
// 禁用自动保存,所以编辑长文章前请注意手动保存。
add_action( 'admin_print_scripts', create_function( '$a', "wp_deregister_script('autosave');" ) );
// WordPress 3.8测试有效
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' );

 

总结,经过测试可实现连续ID

CC 许可协议
署名-非商业性使用-相同方式共享 4.0 国际 了解协议
文章链接:https://zptheme.com/2958.html
本文作者:子佩·来源:子佩工作室

除非注明,子佩工作室 文章均为原创,转载请以链接形式标明本文地址。

相关推荐

登录后即可发表评论

社交账号登录

全部评论 (0)