最新wordpress5.0.3文章ID不连续的解决方法

经本站测试感觉,是一个简单而实用的有效方法,适合于wordpress3.0-5.0.3的版本,可以完美解决wordpress文章ID不连续的问题。
说方法是直接把代码扔进主题functions.php中就可以了


function keep_id_continuous(){
global $wpdb;
$lastID = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_status = 'publish' OR post_status = 'draft' OR post_status = 'private' OR ( post_status = 'inherit' AND post_type = 'attachment' ) ORDER BY ID DESC LIMIT 1");
$wpdb->query("DELETE FROM $wpdb->posts WHERE ( post_status = 'auto-draft' OR ( post_status = 'inherit' AND post_type = 'revision' ) ) AND ID > $lastID");
$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' );
// 禁用自动保存,所以编辑长文章前请注意手动保存。
add_action( 'admin_print_scripts', create_function( '$a', "wp_deregister_script('autosave');" ) );
// 禁用修订版本
add_action('post_updated','wp_save_post_revision',10,1);


注意:如果需要文章id完全连续,就不要使用 WordPress 内置的媒体库功能和自定义菜单功能。

2个评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注