关闭WordPress自动保存和文章修订功能

所属分类: CMS教程 / WordPress 阅读数: 1078
收藏 0 赞 0 分享
今天发文章时,惊奇的发现文章的ID竟然已经到达了19了。鉴于我以前折腾Wordpress的经验,我知道这是Wordpress的“自动保存和文章修订功能”在作怪。但是,该怎么才能关闭Wordpress的这个功能呢?!还是问“谷老师”吧。

经过“谷老师”的指点,找到了解决办法。其实很简单,只需在wp-config.php中加入以下代码即可:

复制代码
代码如下:

define('AUTOSAVE_INTERVAL', 120 ); // 设置自动保存间隔,单位是秒,默认60
define('WP_POST_REVISIONS', false ); // 禁用文章修订功能
define('WP_POST_REVISIONS', 3); //


根据你的需要将上述三行代码放到wp-config.php中,如果你不知道放在文件什么位置,这个文件中已经有很多define开头的代码,和他们放在一起就可以。
很简单对吧,就像这两个功能都是累赘,毫无用处,如果你只想知道这些,写这篇文章就毫无意义了。甚至你可能还不是百分之百的清楚自动保存和文章修订到底有什么区别,到底谁是让数据库数据膨胀的罪魁祸首。

那么我们继续看一看这两个东西。

自动保存(Auto-Save)

这是一个非常实用的功能,当你编辑文章的时候,WordPress每隔60秒自动保存你输入的内容,防止因为电脑挂机或者断电而丢失辛苦劳动的成果。这个功能不同于自动修订,你完全不用担心它会让你的数据库数据膨胀,因为它只会创建一条记录,每隔60秒更新一次,当文章发布后,这条记录的post_status会从draft变成publish,没有一点浪费的地方。
唯一给你带来麻烦的可能是保存间隔太短,服务器难受,写文章可能有间歇性卡的感觉,那么你可以将时间设置的长一点。
define('AUTOSAVE_INTERVAL', 120 ); // 设置自动保存间隔,单位是秒,默认60
如果你倾向于用Word编辑,之后拷贝到WordPress的编辑器中,你也可以完全禁用自动保存功能,在主题的functions.php中加上如下代码就可以

复制代码
代码如下:

function disable_autosave() {
wp_deregister_script('autosave');
}
add_action('wp_print_scripts','disable_autosave');

禁用后的副作用:预览功能不可用,必须保存为草稿才能预览
如果服务器还不错,这个自动保存功能基本不影响什么,Sola使用了60秒保存一次的自动保存,喜欢用WP的编辑器边写边预览,经常误点WP菜单(现在的菜单鼠标滑过就会弹出子菜单,很容易点错),要是没有60秒一次的自动保存,真不知道要浪费多少时间重新编辑了。
文章修订(Post Revisions)
在编辑文章时,如果文章标题、内容或者摘要等字段发生变化,WordPress就会将当前版本保存为一个修订版,方便你想退回到之前的版本,这有点像svn的工作方式。随之而来的问题是,数据库会被修订版撑的很大,加之有自动保存的功能,让这个修订功能多少显得有点累赘。
我们可以控制修订版的数量,例如一篇文章最多保存3个修订版
define('WP_POST_REVISIONS', 3);
这样,每创建一篇文章,数据库中会有1条auto-save+最多3条revision。
或者完全禁用
define('WP_POST_REVISIONS', false );
可以通过运行一条SQL语句彻底删除修订版以及与之相关的meta信息

复制代码
代码如下:

DELETE a,b,c FROM wp_posts a
LEFT JOIN wp_term_relationships b
ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c
ON (a.ID = c.post_id) WHERE a.post_type = 'revision';


关于自动草稿

自动保存产生的记录叫做草稿,还有一种记录叫做自动草稿,自动草稿在你点击写文章时就会自动创建。
如果你点击写文章后:
输入内容,自动保存生效
手动将文章保存为草稿

发布文章

自动草稿记录会被转换成草稿或者文章,从而不产生垃圾数据。
如果你点击写文章,什么也没写就关闭了,就产生了一条自动草稿垃圾记录,修改这个问题需要更改源代码,如果感兴趣可以google一下,但如果可以养成良好的写文章习惯,自动草稿根本不是问题,WordPress也有一些回收机制,例如每次新建文章时会自动清除7天以前的自动草稿。
用插件管理文章不同版本
有一些插件可以帮助我们清理数据库,管理文章的各个版本。
Wp Cleaner
使用时注意不要误删草稿,有时候我们会将没写完的文章保存为糟糕,删了就惨了。
Revision Control
如果用短小精悍来形容Wp Cleaner,那么Revision Control就是五脏俱全了,功能强大,界面相对也复杂些。
更多精彩内容其他人还在看

WordPress 防止恶意评论的方法

本文章详细的介绍了关于WordPress 防止恶意评论代码处理办法
收藏 0 赞 0 分享

wordpress制作自定义菜单的方法

本文介绍了wordpress中自定义菜单制作详细教程
收藏 0 赞 0 分享

WordPress增加文章排序方式

很多网站的文章列表页面都可以查看排序方法,但是在wp系统中是没有这个功能,下面我们来看看关于WordPress系统中增加选择文章的排序方式的解决办法
收藏 0 赞 0 分享

wordpress get_posts函数的使用方法 禁止输出指定类别的文章

本文向大家介绍wordpress使用get_posts函数功能禁止输出指定类别文章的方法,大家可以参考一下
收藏 0 赞 0 分享

在wordpress文章末尾添加内容的简单方法

如何在wordpress的文章末尾添加内容,在wordpress每篇文章的末尾添加文字、链接等内容,比如你想加个“原创文章如转载,请注明本文链接:”,其实很简单,有多种方法,下面就介绍给大家
收藏 0 赞 0 分享

wordpress dynamic_sidebar()函数使用方法

本文简单介绍wordpress dynamic_sidebar()函数使用的方法,在wordpress开发中会经常用到
收藏 0 赞 0 分享

WordPress导航菜单函数wp_nav_menu()详解

本文主讲内容是WordPress导航菜单函数wp_nav_menu()详细使用的说明,大家可以看参考一下,在开发WordPress模板时会使用到这个函数自定义菜单
收藏 0 赞 0 分享

WordPress自定义多个边栏的方法

在wordpress后台中,在外观>小工具里面,可以自定义边栏要显示的内容,一般的主题都支持至少一个自定义边栏,那么它是如何实现的呢
收藏 0 赞 0 分享

wordpress全局变量$wpdb初始化并声明为全局变量的方法

wordpress操作数据库用一个全局变量$wpdb来进行各种操作,使用的时候先在函数声明global $wpdb,然后调用它的数据库操作方法。那么它是在哪里进行初始化并声明为全局变量的呢
收藏 0 赞 0 分享

wordpress中强大的调用文章函数query posts 用法

query posts是一个非常好用的调用文章函数,可以做到同页面内显示多种特定范围的文章,下面为大家详细的介绍下wordpress中强大的query posts 用法,喜欢的朋友可以参考下
收藏 0 赞 0 分享
查看更多