Codex

Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

User talk:Sewmyheadon

  • WordPress Documentation Team - Know who is in charge and who to turn to
  • Guidelines - The heavenly handbook of Codex rules.
  • Styles - Documentation of the general styles of the Codex — please follow these so pages look well together.
  • Sandbox - Your experimental playground
  • Contributing - How to help out at the Codex
  • Editing - How to layout and design a Codex page
  • Codex Tasks - Things needing to be done and sign up list
Discussions on the Codex
Discussions on the Codex and Wp-docs mailing list are restricted to topics related to writing WordPress documentation. To post a question about information on an article in the Codex, use the Discussion Tab at the top of the article's page. To post a question to an individual Codex user, visit their User Page and post the question in their Discussion page. Answers will be posted on your User Discussion page. Sign all comments and discussions with four tildes (~) and it will display your name and time with a link to your User Page like this:
Fred Smith 03:07, 10 Apr 2014 (UTC)

Again, welcome and let us know how we can help you help us on the WordPress Codex.

MichaelH (talk) 12:59, 12 July 2008 (UTC)

Description

Revisions are saved copies of your posts or pages, which are automatically created and saved as you update and save content on your site.

WordPress keeps revisions keep track of all saved changes in your content, which protects you in case of accidental changes in your content.

In new revisions tools in WordPress 3.6 give you an easy slider that allows you to quickly 'slide' through the timeline history of your post or page, and select specific revisions to compare.


How many post revisions to keep

By default, WordPress will keep an unlimited number of revisions of each post. You can define how many revisions are kept, if any by defining some constants in your wp-config.php file.

LIMIT NUMBER OF POST REVISIONS

To change the number of revisions WordPress will keep on-hand, add the following to your wp-config.php file:

define( 'WP_POST_REVISIONS', 3);

Where '3' is the number of posts you'd like to keep.

DISABLE POST REVISIONS

To turn off revisions altogether, add the following to your wp-config.php file:

define( 'WP_POST_REVISIONS', false);

What's The Difference Between Revisions And Autosave?

Revisions are created only when you click the Publish or Update button after editing a post or page.

WordPress will also autosave your work periodically in case you lose internet connection, your computer crashes, or some other inconvenience. Autosaving does _not_ create a new revision automatically.

If you open a post after such an inconvenience, WordPress will notify you that you have an autosave available. If you load the autosaved content and then save your post, a new revision will be created.

WHY DON'T I SEE REVISIONS ON MY POSTS OR PAGE? The revisions section is created for each post or page as soon as you've saved, and made a revision to, content. (requires that you actually have a revision before it shows the revisions meta box on the editor page in the dashboard)


Revisions User Interface Updates

The red text on the left shows the content that was removed. The green text on the right shows the content that was added.

Revisions: The all-new revisions UI features avatars, a slider that “scrubs” through history, and two-slider range comparisons.


Notes & Misc (these are just for my edification; reminders of things to do)

Description

Limit the number of posts revisions that WordPress stores in the database.

define( 'WP_POST_REVISIONS', 3);


Autosaves

There is only ever a maximum of one autosave for any given post. New autosaves overwrite old autosaves. This means that no, your tables do not grow by one row every 60 seconds.

Autosaves are enabled for all posts and pages but do not overwrite published content. Autosaves are stored as a special type of revision; they do not overwrite the actual post. In fact, if your browser does crash, when you go to edit that post, WP will toss up a warning that says something like "This post has an autosave which is more recent that the post itself. Would you like to see it?" With a link to the revision page from where it can be restored/ignored.

Revision Options

There are options, but they are hidden well :) There is a constant (not even filterable) that can be set by a plugin or in your wp-settings.php file:

WP_POST_REVISIONS:

  • true (default), -1: store every revision
  • false, 0: do not store any revisions (except the one autosave per post)
  • (int) > 0: store that many revisions (+1 autosave) per post. Old revisions are automatically deleted.

Revision Storage Method

Revisions are stored in the posts table. I don't yet know what kind of impact that will have on post queries. We're going to turn the switch to "on" on WordPress.com sometime soonish and we'll have a better idea about what kind of damage, if any, it does.

Revisions are stored as children of their associated post (the same thing we do for attachments). They are given a post_status of 'inherit', a post_type of 'revision', and a post_name of {parent ID}- revision(-#) for regular revisions and {parent ID}-autosave for autosaves.

Plugins can customize what fields (within limits) are versioned. By default, WP keeps track of the changes to title, author, content, excerpt.

Revision Management

Deleting: There is an API function to delete revisions, but there is no UI. That can certainly change.

Andrew proposed a delete button in the actions column. A column of checkboxes and some action buttons at the top would be more in keeping with the current WP UI (like the Manage -> Posts page), but that would be totally confusing with the column of radio buttons and the "Compare" button we currently have. Andrew's suggestion is clean and simple. If any one wants to rethink that whole UI, please go ahead. Send some mockups to the list.

Re-editing by Contributer: I have no idea what happens in WP 2.5 when a Contributor edits an already published post (by that user or by another) :)

I can say, though, that nothing fancy happens with revisions in that scenario (unless the good will of some unforeseen bug rears its serendipitous head).

Creating new not-yet-to-be-published revisions for a currently published post / pinning an old revision: No. I honestly haven't a clue how many users would use this feature. Maybe everybody, maybe nobody. I don't think the code would be too hard to implement as a plugin given the new revisions API functions. The UI sounds difficult to me to get right.

If it is truly useful to our user base, we can certainly make it happen for core. I'm sure we'll get feedback from "real users" at WordPress.com when it gets turned on.

Displaying Rendered Revisions

Andrew mentioned the possibility of showing revisions in "raw" or "rendered" form. That seems like a good idea to me.

We had also discussed the possibility of showing old revisions and diffs on the blog itself. That certainly wouldn't appeal to everyone. I think that can be left to themers/plugin writers. All the pieces for it are already in core.