• 欢迎访问极客公园网站,WordPress信息,WordPress教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入极客公园 QQ群
  • Git主题现已支持滚动公告栏功能,兼容其他浏览器,看到的就是咯,在后台最新消息那里用li标签添加即可。
  • 最新版Git主题已支持说说碎语功能,可像添加文章一样直接添加说说,新建说说页面即可,最后重新保存固定连接,演示地址
  • 百度口碑求点赞啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊http://koubei.baidu.com/s/gitcafe.net
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏极客公园吧

(总结)WordPress取消历史版本功能,保留自动保存的方法!

原创总结 博客教主 15年前 (2010-06-08) 1562次浏览 4个评论

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及以上版本


极客公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:(总结)WordPress取消历史版本功能,保留自动保存的方法!
喜欢 (0)

您必须 登录 才能发表评论!

(4)个小伙伴在吐槽
  1. 太好了,可算解决我一个大问题,支持楼主
    pmpwhy2011-07-04 14:22
  2. 想给兄弟个好评,可是发布不了啊
    pmpwhy2011-07-04 14:25
  3. 大哥我是按你说的这样做的,但是出现自动草稿的链接,怎么办,的用插件吗
    pmpwhy2011-07-04 17:42