WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is there a hook/function combination that can be added to my theme's functions.php to properly disable REVISIONS and AUTOSAVE for the entire wordpress installation? What about if just for a certain custom post type? Searching online gives various hacks from deregistering scripts to tampering with core files. What's the acceptable/correct way to do this?

share|improve this question
Here is better solution: stackoverflow.com/a/30821376/2377343 – tazo todua Feb 2 at 14:30
up vote 7 down vote accepted

This should be placed in your wp-config.php (and no where else):

define( 'AUTOSAVE_INTERVAL', 60*60*60*24*365 ); // autosave 1x per year
define( 'EMPTY_TRASH_DAYS',  0 ); // zero days
define( 'WP_POST_REVISIONS', false ); // no revisions
share|improve this answer
copy that, thanks @kaiser you rock! – Ana Ban Apr 13 '12 at 13:36
update: when i add the AUTOSAVE_INTERVAL line, it makes the post editor page constantly run a javascript instruction that enables/disables the [Update] (and [Save Draft] on a new post) buttons, which also eventually makes all my other browser tabs much less responsive (gchrome18). hmm... thoughts? – Ana Ban Apr 14 '12 at 2:05
Yeah, that (propably) means that it's doing constant updates. Try to change it to 20000000000, which should be a little more than a year. – kaiser Apr 15 '12 at 0:48

This is how to modify autosave interval

And this is how to modify post revisions

So to use it in your theme, try to declare appropriate constants in your functions.php file.

share|improve this answer
thanks, @Eugene but how do i entirely disable autosave properly? i already came across this online, but it's not really disabling the autosave. an autosave can still happen no matter how long the interval is set. as for the post revision, can i just set that constant in my functions.php and not in wp-config.php? tia – Ana Ban Apr 13 '12 at 9:04

I'm also looking for how to disable autosave. But here's what I was told in a Trac ticket:

If you really need this feature you should manage the sequential IDs yourself in a custom field and then implement custom URL routing. It shouldn't be too hard to pull that off.

share|improve this answer
hi @wikicms i'm cool with the ids, but thanks for posting. useful for somebody out there for sure, or even me in the future. – Ana Ban Apr 14 '12 at 2:42

Placing the defines in wp-config.php is fine until you turn WP_DEBUG on when you will get 'already defined' PHP notices in the debug.log every couple of minutes. Others claim placing these defines above the ABSPATH define will help.

However, I can categorically confirm the best place to put your defines is in a plugin, because the activated plugins are loaded before the WP default defines.

The default defines are protected with if exists tests, hence your plugin loaded defines will take precedence and will not cause a clash nor the repetitive PHP notices in the debug log.

share|improve this answer
No, wp-config.php is the only correct place. If you get errors, some broken code elsewhere tries to define it again. Remove that code. – toscho Sep 20 '13 at 20:39
@toscho Why is wp-config.php the only correct place? Can you elaborate? – jdevlin May 28 '14 at 22:02
@JamesDevlin Maintainability and debugging. You can do that in a very controlled environment, but if you get errors when you place it in wp-config.php, something else is broken, moving the defines is not a solution. – toscho May 28 '14 at 22:35
Thanks @toscho, makes sense. – jdevlin May 28 '14 at 22:43

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.