WordPress 3.9 日志ID不连续的解决办法(关闭自动保存、自动草稿和禁用文章修订版)

Pop:WordPress 3.9 日志ID不连续今天看到有两位网友说搞定,结果测试也不行,达到的效果都好像不完美,最后还可能会空一个数字。自己研究了一下,发现是一个小位置没有注意。

我也对比一下修改方法,跟之前3.7.1、3.4.1的修改差不多
WordPress 3.4.1 日志ID不连续的办法(关闭自动保存、自动草稿和禁用文章修订版)
http://429006.com/article/technology/2891.htm

WordPress 3.9 日志ID不连续的解决办法:

1、打开 wp-config.php 文件,在 $table_prefix = 'wp_'; 前面添加如下代码(注意,一定是 $table_prefix = 'wp_'; 这行的前面):

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

2、找到并打开 wp-admin\post-new.php 这个文件,将其 wp_enqueue_script( 'autosave' ); 注释或删除掉

//wp_enqueue_script( 'autosave' );

3、找到并打开 wp-admin\post.php 这个文件,将其 wp_enqueue_script('autosave'); 注释或删除掉,并在前面一行添加 ;

if ( 'attachment' !== $post_type );
//wp_enqueue_script('autosave');

3、打开 wp-admin\includes\post.php 文件,找到

if ( $create_in_db ) {
$post_id = wp_insert_post( array( 'post_title' => __( 'Auto Draft' ), 'post_type' => $post_type, 'post_status' => 'auto-draft' ) );
$post = get_post( $post_id );
if ( current_theme_supports( 'post-formats' ) && post_type_supports( $post->post_type, 'post-formats' ) && get_option( 'default_post_format' ) )
set_post_format( $post, get_option( 'default_post_format' ) );
} else {

将其替换为:

if ( $create_in_db ) {
global $current_user;//获取当前登录管理用户
$post = $wpdb->get_row( "SELECT * FROM $wpdb->posts WHERE post_status = 'auto-draft' AND post_type = '$post_type' AND post_author = $current_user->ID ORDER BY ID ASC LIMIT 1" );//获取最早一条自动草稿
if ( !$post ) {
$post_id = wp_insert_post( array( 'post_title' => __( 'Auto Draft' ), 'post_type' => $post_type, 'post_status' => 'auto-draft' ) );
$post = get_post( $post_id );
}
if ( current_theme_supports( 'post-formats' ) && post_type_supports( $post->post_type, 'post-formats' ) && get_option( 'default_post_format' ) )
set_post_format( $post, get_option( 'default_post_format' ) );
} else {

参考文章:
http://blog.wangguanjie.com/1100.html
http://www.eit0571.com/blog/89/

Related Posts