在新版本的WordPress博客程序中,避免数据丢失,添加了自动保存功能,默认开启了这一功能。用户在使用WordPress撰写博文时,每隔一段时间,WordPress都会将用户所添加的内容进行保存。
有利就有弊,与此对应的弊端是,一旦WordPress保存一次,WordPress的MySQL数据库中的wp_posts表里就会增加一行无用数据,一段时间后,此举会使得用户的数据库里含有大量的垃圾内容,使得数据库不停的增大,最后性能也会下降。
现在开始看看如何关闭wordpress的自动保存功能,具体步骤如下:
一、修改post-new.php文件
禁用自动保存 WordPress程序下wp-admin文件夹中找到post-new.php和post.php文件
在post-new.php文件中搜索以下代码:
0 |
wp_enqueue_script( 'autosave' ) |
在post.php文件中搜索以下代码:
0 |
wp_enqueue_script('autosave') |
搜索到结果,然后在其前面加上“//”(不含引号)注释掉即可;
切记:在post.php文件搜索结果上一行判断代码的末尾加一个英文分号,否则发布会出错。
或者把post.php文件搜索结果上一行的if ( 'attachment' !== $post_type )
也注释掉。我不懂PHP,但是我用我的笨脑瓜去想:判断的结果都不要了,那还要那个判断有什么用。你说呢?
二、修改wp-config.php文件
打开WordPress程序主目录下的wp-config.php文件,在$table_prefix = 'wp_';之前的位置(注意:一定要在它之前,wp_是默认表前缀)
添加如下内容:
0 1 2 3 4 |
//关闭WordPress文章修订版本 define('WP_POST_REVISIONS', false); //关闭WordPress文章自动保存 define('AUTOSAVE_INTERVAL', false); |
或
0 1 2 3 4 |
//限制WordPress文章修订版本个数 define('WP_POST_REVISIONS', 2); //限制WordPress文章自动保存时间间隔,单位:秒。 define('AUTOSAVE_INTERVAL', 3600); |
三、删除WordPress数据库中残留的垃圾
关闭掉WordPress的自动保存功能之后,虽然以后不会再往WordPress的数据库中添加垃圾内容,数据库中原本存在的垃圾内容依然存在,如何删除呢?其实操作十分简单。登入phpMyAdmin数据库管理界面,执行如下SQL语句(执行前请先备份数据,防止出错后无法恢复数据库):
0 1 2 |
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"; |
执行完毕,即能清理掉WordPress数据库中因为自动保存功能所产生的垃圾数据了。
注:此文为结合网上搜索与实测,并非照搬照抄,转载请注明出处,谢谢!