允许参与者编辑但不更新已发布的帖子

时间:2018-01-26 作者:zfors

我有一个客户希望管理CPT上的编辑过程,该CPT名为Floor Plan。他们希望能够预览和批准/拒绝对楼层平面的所有编辑。我想我有一个解决方案,让一个管理员帐户创建一个平面图,让一个贡献者输入必要的内容,最后由管理员批准并发布。

当需要更新楼层平面时,问题就出现了。一旦发布,投稿人就不能再编辑帖子。如果我们将用户切换为作者,那么他们可以编辑帖子,但唯一的选择是更新。更新已发布页面上的内容,客户端仍希望能够批准/拒绝编辑。

我知道作者可以向管理员发送预览链接,他们可以在登录时查看该链接并批准或拒绝,但作者仍然可以点击更新并使用未批准的内容更新已发布的帖子。

我一直在玩弄Edit Flow 但它似乎并没有解决这个特殊的问题。除非我只是没有正确设置。

有没有办法做到这一点?我所有的搜索都没有找到任何东西。

2 个回复
SO网友:WebElaine

有一些工作流插件可用,其中一个是https://wordpress.org/plugins/oasis-workflow/ - 但是很多都提供了大量的开销,而不完全是您想要的。例如,有些仅适用于本机帖子和页面,而不适用于CPT。

如果工作流插件都不起作用,那么您可以考虑创建自定义状态并开发自己的插件。基本上,您可以挂接post状态更改,如果状态为publish,则可以使用jquery将publish changes按钮替换为“submit for review”按钮。然后,您需要自定义PHP将其保存为自定义状态,并向审批者/发布者角色发送电子邮件,告知已提交更改以供审阅。您可以向审批者/发布者发送指向“比较修订”屏幕的链接,以便他们可以同时查看旧版本和新版本,然后可以进行其他更改或按原样发布。

老实说,工作流是WordPress与许多其他CMS相比所缺乏的主要功能。

SO网友:Nate

插件https://wordpress.org/plugins/user-role-editor/ 对我来说效果最好。您可以创建自定义角色,并为其授予所需的权限。

结束

相关推荐