Wordpress 禁用自动草稿和历史版本功能的方法

/

Wordpress 禁用自动草稿和历史版本功能的方法

Wordpress 的自动草稿功能,保证了您在任何时候都不会因为断电之类的偶然事件丢失还没发布的文章,历史版本功能则给了 wordpress 用户吃后悔药的机会,任何时候都可以回到以前的文章状态。这两个功能对 wordpress 而言是巨大的进步,但是,令人不爽的是,会在数据库造成大量的冗余,而且对个人博客而言,这两个功能貌似不是很有必要。下面,介绍如何在 wordpress 中禁用自动草稿和历史版本功能

在 wordpress 中禁用自动草稿功能

wordpress 默认会将每一篇新建文章保存为自动草稿,即使您点击新建后立即退出,也无法避免,长此以往,数据库中会存在大量的自动草稿。在 wordpress 中禁用自动草稿功能,只需修改 wp-admin/includes/post.php,将以下内容

$post_id = wp_insert_post( array( 'post_title' => __( 'Auto Draft' ), 'post_type' => $post_type, 'post_status' => 'auto-draft' ) );
$post = get_post( $post_id );

替换为

$post_auto_draft = $wpdb->get_row( "SELECT * FROM $wpdb->posts WHERE post_type = '$post_type' AND post_status = 'auto-draft' LIMIT 1" );
if ( $post_auto_draft ) {
    $post = $post_auto_draft;
} else {
    $post = get_post( wp_insert_post( array( 'post_title' => __( 'Auto Draft' ), 'post_type' => $post_type, 'post_status' => 'auto-draft' ) ) );
}

原理:新建文章时,先查找数据库,如已存在自动草稿,则将其作为当前文章使用,而不再另外生成自动草稿。

在 wordpress 中禁用历史版本功能

在 wordpress 中禁用历史版本功能相对来说简单许多,不像在 wordpress 中禁用自动草稿功能那样需要修改 wordpress 的核心文件,也不需要在每次 wordpress 升级后重新进行修改。

在 wordpress 中禁用历史版本功能,只需在您主题的 functions.php 中添加如下内容:

remove_action('pre_post_update', 'wp_save_post_revision' );

Comments