禁用WordPress 3.0自动草稿存档
版本修订历史、自动保存和自动草稿是WordPress在编辑器上特有的几个功能,但是对于一般的小网站来说,这些功能中有的可能并不是特别需要,完全可以禁用掉以提升网站的速度。
禁用及删除版本修订历史
版本修订历史在每一次编辑文章过后,都会自动保留一份,这样的话很容易造成数据的重复储存,占用不必要的资源。
打开wp-config.php,在末尾添加
define('WP_POST_REVISIONS', false);
如果想要删除这些版本修订历史,可在phpmyadmin中对MySQL进行修改。执行SQL语句(表前缀为wp_的话)
DELETE FROM wp_postmeta WHERE post_id IN (SELECT id FROM wp_posts WHERE post_type = 'revision');
DELETE FROM wp_term_relationships WHERE object_id IN (SELECT id FROM wp_posts WHERE post_type='revision');
DELETE FROM wp_posts WHERE post_type='revision';
禁用自动保存
自动保存是用于防止出现突发以外,导致文章无法及时保存的情况出现。如果平时有存档再发布的话,可以避免这个问题,这个功能可以根据自己的实际情况斟酌是否要禁用。
在wp-admin目录,打开post.php、page.php、post-new.php和page-new.php,查找
wp_enqueue_script('autosave');
替换为
//wp_enqueue_script('autosave');
当你想恢复这个功能的时候,去掉前面的//即可。
禁用自动草稿
自动草稿是在WordPress 3.0之后新增的功能,在新建文章之后,会自动将其保存为草稿。这个功能比较鸡肋,没有太大的实际用处,建议禁用。
在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' ) );
}
替换为
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' ) );
}