This plugin adds a minor bit of workflow to the WordPress interface. When anyone edits a post or a page that has already been published, a few extra options will be available in the “Publish” metabox. Any time the appropriate option is chosen, the changes will be saved as a revision to the page or post, and the previous revision (the version that was already published) will remain published.
The person editing the page can choose from the following four options:
- Publish these modifications normally – This will avoid running any of the functions in this plugin and publish the changes the way they would normally be published. This is always the default.
- Save these changes as a revision, but don’t notify anyone – This will revert the page or post to the version that was already published, saving the modifications as a post revision. This will not send out any notification emails.
- Save these revisions as a draft and notify reviewer – This will revert the page or post to the version that was already published, saving the modifications as a post revision. This will also send out an email message to the email address entered in the options.
- Publish these modifications, but notify a reviewer that changes were made – This will publish the changes normally, but will still dispatch a notification message to the email address provided.
If the third or fourth option is selected, a box will appear asking the user to provide an email address (or multiple addresses separated by commas) to which to send the notification message. If that box is left empty, the plugin will attempt to retrieve the value of the “dpn_reviewers” option from the individual site. If that option doesn’t exist, the “dpn_reviewers” option will be retrieved from the network (if installed in a multisite environment). You can edit those options in the Settings -> Writing and Network Admin -> Settings -> Network Settings (multisite) screens within the administrative area. If neither of those options exist, the email address of the site’s admin will be used.
To Do
- Include multi-network activation options
- Implement the ability to add this functionality to custom post types
Known Issues
- The interface to review and approve modifications (the default revision comparison built into WordPress) is not extremely user-friendly. Some training will most likely be necessary to teach reviewers how to identify and approve the appropriate revisions.
- If multiple reviewers are notified of modifications, there is no easy way to let them all know when one of them reviews and approves (or potentially rejects) the changes.
- There is no interface currently available to delete revisions, which means there is no way (other than taking no action at all) to actually reject any changes.
- When a post is revised multiple times before the revisions are approved, the changes begin to cascade.