当用户角色改变时,如何“取消发布”或“隐藏”帖子?

时间:2016-04-14 作者:tillinberlin

我正在开发一个为不同用户分配不同角色的网站,我正在寻找一种功能,我最好将其描述为“反向访问控制”:

首先,允许角色“A”的用户发布类型为“A”的内容。如果用户更改为角色“B”,则不再允许其发布类型为“a”的内容。

现在,我想找到一种方法来“取消发布”或“隐藏”该用户在仍被分配用户角色“a”时发布的任何内容。目前,我可以想到以下两种可能的方法:

所有帖子仍在发布,但只有作者和管理员才能看到

我查看了各种插件,如MembersUser Role Editor 但似乎没有一个具有这种类型的功能,或者我完全错过了什么?任何指点都将不胜感激。非常感谢。

2 个回复
SO网友:Bruno Cantuaria

有趣的功能,您需要这样做:

需要使用挂钩set_user_role 要检测用户角色何时更改,则需要查询该用户的所有帖子,然后使用wp_update_post 更改post状态

SO网友:juz

与每次作者更改角色时更改发布设置相比,选项1无疑更容易发生错误/事故。

要在全局范围内执行此操作,您应该向\\u内容(以及页面/帖子循环中的其他内容项)添加一个过滤器,该过滤器检查作者的角色,并返回一些文本,以通知查看者该内容当前不可用。

相关推荐