【发布时间】:2018-08-30 17:29:40
【问题描述】:
我正在尝试设置具有扩展用户功能的 bbpress。
问题
我的目标是用户需要在每个论坛中拥有不同的能力,即:
- 用户A 无法访问论坛W
- UserA 只能阅读 ForumX 中的主题和回复
- UserA 可以在 ForumY 中创建主题并撰写回复
- UserA 可以审核 ForumZ
插件
这些是我目前尝试过的插件,但没有成功:
-
终极会员,官方1.7和新2.0版本
https://ultimatemember.com/
他们声称他们正在开发 UltimateMember v2 的群组扩展,这在某种程度上看起来很有希望,但到目前为止还没有发布日期,我仍然不知道这个扩展是否能解决我的问题。 itthinx 群组插件
http://docs.itthinx.com/document/groups/
允许我将多个组分配给用户和论坛,但仍有一个问题。
第一次尝试
由于 itthinx Groups 插件允许我将多个组分配给 UserA,这很好,但它仍然没有解决我的问题。
所以,我尝试了这样的事情:
ForumX 分配了以下组:
ForumX_readers、ForumX_writers、ForumX_moderatorsUserA 分配了以下组:
ForumX_readers、ForumY_writers、ForumZ_moderators
但问题是,由于 UserA 属于具有 publish_replies 和 moderate 功能的组,因此他可以完全访问 ForumX。
所以我需要的是论坛组和用户组的交集——在这个例子中是ForumX_readers。
有希望的部分,但是...
我深入研究了插件的代码,找到了根据用户分配的群组处理用户能力的行,并迅速尝试获取当前论坛群组,以实现交集。
不幸的是,我无法在这部分代码中访问global $post、$_GLOBALS['post'] 和$_REQUEST[] 变量。既不是直接也不是使用apply_filters() 函数,我自己在代码的一部分中实现了。
更新:
我能够通过get_posts() 和当前论坛/主题的 slug 获得 ID。
所以,我的问题
我的第一次尝试有什么解决方案,我可能已经监督了吗?
如果没有,是否有任何其他插件可以解决我不知道的问题?
或者这样的事情在 bbpress 中是不可能的吗?
【问题讨论】:
标签: wordpress user-roles bbpress