I have a client that wants to manage the editing process on a CPT called Floor Plan. They want to be able to preview and approve/deny all edits to a Floor Plan. I thought I had a solution by having an Admin account create a Floor Plan and have a Contributor enter the necessary content, finally being approved and published by the Admin.
The problem comes when the Floor Plan needs to be updated. Once published, a Contributor can no longer edit a post. If we switch the user to Author, then they can edit the post, but the only option then is to Update. Which updates the content on the published page, and the client still wants to be able to approve/deny edits.
I know an Author could send a preview link to the Admin that they could view while logged in and approve or deny, but the Author still has the ability to hit Update and update the published post with unapproved content.
I have been toying with Edit Flow but it doesn't seem to address this particular problem. Unless I'm just not setting it up properly.
Is there even a way to do this? All my searching has found nothing.
I have a client that wants to manage the editing process on a CPT called Floor Plan. They want to be able to preview and approve/deny all edits to a Floor Plan. I thought I had a solution by having an Admin account create a Floor Plan and have a Contributor enter the necessary content, finally being approved and published by the Admin.
The problem comes when the Floor Plan needs to be updated. Once published, a Contributor can no longer edit a post. If we switch the user to Author, then they can edit the post, but the only option then is to Update. Which updates the content on the published page, and the client still wants to be able to approve/deny edits.
I know an Author could send a preview link to the Admin that they could view while logged in and approve or deny, but the Author still has the ability to hit Update and update the published post with unapproved content.
I have been toying with Edit Flow but it doesn't seem to address this particular problem. Unless I'm just not setting it up properly.
Is there even a way to do this? All my searching has found nothing.
There are some workflow plugins available - one being https://wordpress.org/plugins/oasis-workflow/ - but many provide a lot of overhead without quite exactly what you're looking for. For example, some only work with native Posts and Pages and not CPTs.
If none of the workflow plugins works out, you can look into creating custom statuses and developing your own plugin. Basically, you hook into post status changes, and if the status is publish, you can use jquery to replace the publish changes button with a "submit for review" button. Then you need custom PHP that saves this as a custom status and emails the Approver/Publisher role that changes have been submitted for review. You can send the Approver/Publisher a link to the Compare Revisions screen so they see the old vs. the new side by side and can then make additional changes or publish as-is.
To be quite honest, workflow is the main feature I see lacking in WordPress compared to many other CMSs.
The Plugin https://wordpress.org/plugins/user-role-editor/ has worked the best for me. you can create a custom role and give it what permissions you want.