wordpress

关闭WordPress自动修订和自动保存功能[转]

最近蚊子发布的一些文章的postid好多都不挨着,看着让我很不爽,网上查了一下,原因如下

    1、日志的自动修订功能Revision占用ID;

    2、日志的自动保存功能也占用ID;

    3、利用系统上传的图片附件要占用ID,如果上传多个图片,都要占用ID的;

第3条图片附件占用ID的问题在系统内部是无法解决的,除非不上传附件,最好的办法就是外链,把图片上传到别的地上,调用到日志里。
本文就是要介绍一下关闭自动修订功能和自动保存功能的解决办法:

一、关闭自动修订功能解决办法:

但是当你有一定数量的文章,而不需要保存修订记录时,修订记录就反而成为了增加数据库负担的一个功能。当然有现成的插件可以帮你关闭并删除修订记录的功 能,这里简单介绍一些不用插件的办法。打开安装目录下的 wp-config.php 并找到这行:

require_once(ABSPATH . ‘wp-settings.php’);

在这行前面的任意地方,甚至可以是文件的开头,加入:

define(‘WP_POST_REVISIONS’, false);

保存之后,自动修订功能就关闭了。

二、关闭自动保存功能解决办法:
事实上自动保存功能也会在数据库内部产生修订记录。如果不通过插件或者修改程序代码的话,标准的WordPress是无法真正的关闭自动保存功能的,但是允许你设置每次自动保存的间隔。因此你可以设置个一天的,找到wp-settings.php文件,找到

define( ‘AUTOSAVE_INTERVAL’, 60 );

把自动保存时间改为一天:

define(‘AUTOSAVE_INTERVAL’, 86400 );

或改为一年:

define(‘AUTOSAVE_INTERVAL’, 31536000 );

这样就实现了在短时间无法自动保存的目的,同时也不会产生修订记录了。

附:如果你原插件不反感,你可以使用Super Switch超级开关插件简单实现自动保存功能的关闭。

如果想在这个点上达到最大程度优化,你也可以删掉原有的修订记录,只要连进数据库并按顺序运行以下SQL语句:

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";

这样,就把以前的修订记录清理干净了。

原文:http://www.xbaidu.net/227.htm

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.