正在加载...

WordPress有历史版本功能,很好很强大,但是我用不到,浪费数据库空间,降低操作效率,于是在网上搜索了一下,但好多文章都是在讲如何取消WordPress历史版本功能,取消的同时把自动保存也个弄没了。自动保存功能我是需要的,没有自动保存如何在线写文章呢?这里总结了一个方法,可以一举两得,取消历史版本功能的同时还能保留文章自动保存功能。

1. 在 wp-config.php 中添加以下代码:

define(‘WP_POST_REVISIONS’, false);

2. 在wp- includes/default-filters.php中,找到并注释掉下面这一行:

#add_action( ‘pre_post_update’, ‘wp_save_post_revision’ );

3. 在wp-admin/includes/post.php文件中,找到 wp_create_post_autosave函数。
修改如下:

return _wp_put_post_revision( $_POST, true );

修改成:

return edit_post();

整个函数如下:

function wp_create_post_autosave( $post_id ) {
$translated = _wp_translate_postdata( true );
if ( is_wp_error( $translated ) )
return $translated;

// Only store one autosave. If there is already an autosave, overwrite it.
if ( $old_autosave = wp_get_post_autosave( $post_id ) ) {
$new_autosave = _wp_post_revision_fields( $_POST, true );
$new_autosave[‘ID’] = $old_autosave->ID;
$current_user = wp_get_current_user();
$new_autosave[‘post_author’] = $current_user->ID;
return wp_update_post( $new_autosave );
}

// _wp_put_post_revision() expects unescaped.
$_POST = stripslashes_deep($_POST);

// Otherwise create the new autosave as a special post revision
#return _wp_put_post_revision( $_POST, true );
return edit_post();
}


除了用修改源代码的方法外,还可以用插件的形式,但使用插件太多,会影响运行的效率。建议用修改代码的方法!

注:此方法可用于WP2.6及以上版本

: http://www.ha97.com/825.html

本文相关评论 - 才 4 条评论
2010-06-10 11:51:30
WordPress 2.9.2 WordPress 2.9.2

[…] 请参考我的另一篇总结:http://www.ha97.com/825.html 发表评论 | Trackback 目前还没有任何评论. […]

2011-07-04 14:22:20
TT Explorer 4.0 TT Explorer 4.0 Windows XP Windows XP

太好了,可算解决我一个大问题,支持楼主

2011-07-04 14:25:16
TT Explorer 4.0 TT Explorer 4.0 Windows XP Windows XP

想给兄弟个好评,可是发布不了啊

2011-07-04 17:42:09
TT Explorer 4.0 TT Explorer 4.0 Windows XP Windows XP

大哥我是按你说的这样做的,但是出现自动草稿的链接,怎么办,的用插件吗