Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

Say I've already published a page or post. I now want to make changes, but I want a colleague to check them over before they go live. Is there any way of doing this?

Edit: I do realise this isn't currently possible as such and it's creative workarounds I'm interested in.

On the site I'm currently working on, I also have a separate password protected 'staging' site for drafting major content changes/additions, and once approved I copy and paste to the live site. I'm wondering if anyone's used a similar method, but perhaps automated the 'push' to the live site?

I'm aware of this question: Database synchronization between dev/staging and production, but that's more about wholesale synchonization of entire databases rather than individual pages or posts.

Now offering a bounty in order to try and drive out some additional ideas for workarounds.

share|improve this question
3  
If anyone can answer this, an older related question can probably also be answered. –  Jan Fabry Nov 12 '10 at 18:39
add comment

8 Answers

It should be possible to add a button to the Publish box Save as changed copy. You have to hook into content_save_pre then and copy the content and all meta data into a new post with a draft status. After the review the posts have to be merged back.

I haven’t done this yet, but it is really needed.

share|improve this answer
1  
I like this simple idea. The API only needs a Copy Post Revision function that is able to copy a full revision incl. the metadata to a new (yet not created) or to an existing post. That done, the draft post copy can be copied over to the original post later then. –  hakre Nov 12 '10 at 22:56
    
@toscho I was just wondering if it's still the best way to go about the problem? Maybe someone has got an example code or something a bit more concrete? Thanks –  dashaluna Nov 22 '11 at 13:38
add comment

Hi @e100;

If you were interested in a custom plugin solution I can envision several approaches.

  1. A process similar to what @toscho described as "Save as Changed Copy" but with some subtle differences. The plugin could lock editing of published posts but allow you to create derived posts with a new status like "Updated Draft" which could be tied back to the original post via a custom field. These derived posts could then be edited, reviewed, etc. but instead of having the option to publish you would have the option to replace the original post with your update.

  2. Another process could use the built-in revision system although I'd have to do some research to figure out how to serve to the browser a version that is not the most recent; maybe save the content off as a custom field and allow you to continue to work on it.

  3. A third process might be to set up a second WordPress site as an editing sandbox, use web services to retrieve the posts, allow you to edit them remotely, and then when you are ready to publish them you could push back to the main site.

  4. Similar to #3 you could set up an editing sandbox using a WordPress Multisite install and create non-public blogs for each author to have as their own editing sandbox.

Again, all those options would require custom plugin development.

If you are looking for existing plugins you want to take a look at these albeit I don't yet has specific experience with them so I don't know if any of these will do exactly what need:

  • Assignment Desk is an editorial tool for news organizations using WordPress as their content management system. The goal of the plug-in is to make community engagement with the news production process easier and more efficient.

  • Edit Flow offers a suite of functionality to redefine your editorial workflow within WordPress.

  • Peter's Post Notes - Add notes on the "edit post" and "edit page" screens' sidebars in WordPress 2.8 and up. When used with Peter's Collaboration E-mails 1.2 and up, the notes are sent along with the e-mails in the collaboration workflow. There is also a general and private notes system on the dashboard.

share|improve this answer
    
your 1st suggestion sounds like a very cool solution! Oh and Happy Thanksgiving Mike, seeing that your ALWAYS the one giving excellent advice/solutions to all of us! –  NetConstructor.com Nov 29 '10 at 18:02
    
@NetConstructor.com - Thanks! Hope your holidays were good too. –  MikeSchinkel Nov 29 '10 at 21:25
add comment

http://wordpress.org/extend/plugins/revisionary/

This plugin will do what you want. It creates a role Revisor that is kind of in between Contributor and Editor. The UI could be improved and the internal code had to work around a lot of WordPress' missing features, but yeah, this solves your problem: It will allow you to save a draft (actually a 'pending' 'revision').

share|improve this answer
    
I just tested this plugin on a newly upgraded 3.1.2 install. The process of actually applying the pending revision seems broken. Given the sparsity of the documentation, it's not clear if it's broken in 3.1.2, or if the intended UX is that the approving party must copy-paste the revision into the published post manually. In any case, I'm not pushing this out to my users. –  marfarma Jun 3 '11 at 23:37
    
The UI is pretty wacky, but that's because there's no real way to integrate it into WP properly as far as I can tell. WP just lacks the hooks for it. When I tested it, it did work however... there's a button or link somewhere that 'restores' the revision. You shouldn't have to copy-paste anything. I've since switched to having the user just email the editor with revision request specifically because I don't like the UI. –  WraithKenny Jun 15 '11 at 22:24
add comment

Not at this time, unfortunately. If the page/post is already published, your only recourse would be to create a new page/post to hold your edits and privately publish it so your colleague can check your changes. Then replace the content on your live page/post with the revised version.

Just FYI: Making draft-status changes to already published content is a workflow not employed by many WordPress users. I've heard of at least 3 different ways people want it to be done in the past month, too ... so without a standard here-is-how-you-submit-revisions-to-already-published-content workflow, chances of this ever being a feature of WordPress are slim.

share|improve this answer
1  
Hmmm, it does seem odd to me that this kind of workflow isn't in greater demand, especially as WP is increasingly pushed as a full-featured CMS with custom content types, etc. –  e100 Nov 13 '10 at 13:14
1  
The problem is that "this kind of workflow" is defined differently by so many different people. If there were a standard, it would be easy to include. Without a standard, customizing WP for one workflow alienates the others. As it stands, it's easier to let developers build custom solutions for specific situations. –  EAMann Nov 14 '10 at 0:31
    
I'd be really interested in hearing those three different ways people want to manage workflow. –  MikeSchinkel Nov 22 '10 at 10:52
    
The two I can remember specifically: 1) Role-based: Contributers can edit the content of a post and click "submit revision" which must be reviewed before the changes go live. 2) Split Revisions: Users can select a review of any post and automatically copy the revision into a new post without rolling the existing post back. –  EAMann Nov 22 '10 at 16:00
add comment

maybe an easy solution: the plugin http://wordpress.org/extend/plugins/duplicate-post/ for copy a post

share|improve this answer
add comment

There's a plugin called Live drafts that seems to work quite well?

http://wordpress.org/extend/plugins/live-drafts/

share|improve this answer
add comment

While this probably won't solve your specific problem I suggest you look at the "Edit Flow" plugin on wordpress.org. It's a very slick plugin which may very well be of use to you.

share|improve this answer
add comment

There is now a very neat solution to this with a plugin Drafts of Post Revisions.

Users can be permitted to create a draft revision of a published post (or custom post type) which is created as a child copy of the post.

Drafts can be compared to its published parent via the compare revisions feature.

On publishing a draft revision, any changes are integrated back to the parent as the draft is disposed. Multiple drafts can also be maintained.

Would recommend this one to anyone - it's becoming a standard plugin for WordPress sites. However, I suspect we may see this kind of feature being developed in the WordPress core in near future..

share|improve this answer
add comment

Your Answer

 
discard

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.