Я пытаюсь настроить bbpress с расширенными пользовательскими возможностями.
Эта проблема
Моя цель состоит в том, чтобы у пользователей были разные возможности на каждом форуме, т.е.:
- Пользователь A не может получить доступ к форумуW
- Пользователь A может только читать темы и ответы на ForumX
- Пользователь А может создавать темы и писать ответы на форумеY.
- Пользователь A может модерировать ForumZ
Плагины
Это плагины, которые я пробовал до сих пор, но безуспешно:
Ultimate Member, официальная версия 1.7 и новая версия 2.0
https://ultimatemember.com/
Они утверждают, что они работают над расширением групп для UltimateMember v2, которое почему-то выглядит многообещающе, но на данный момент нет даты выпуска, и я до сих пор не знаю, решит ли это расширение мою проблему.Подключаемый модуль групп itthinx
http://docs.itthinx.com/document/groups/
Позволяет мне назначать пользователям и форумам несколько групп, но есть одна загвоздка.
Первая попытка
Поскольку плагин itthinx Groups позволяет мне назначать пользователю A несколько групп, и это здорово, он все еще не решает мою проблему.
Итак, я попробовал что-то вроде этого:
На ForumX назначены следующие группы:
ForumX_readers
,ForumX_writers
,ForumX_moderators
Пользователю А назначены следующие группы:
ForumX_readers
,ForumY_writers
,ForumZ_moderators
Но проблема в том, что поскольку UserA принадлежит к группам, имеющим publish_replies
и moderate
возможности, он имеет полный доступ к ForumX.
Итак, что мне нужно, так это пересечение групп форума и групп пользователей, в данном примере это ForumX_readers
.
Многообещающая часть, но...
Я покопался в коде плагина и нашел строку, которая обрабатывает возможности пользователя на основе назначенных ему групп и быстро попытался получить текущие группы форума, чтобы реализовать пересечение.
К сожалению, мне не удалось получить доступ к переменным global $post
, $_GLOBALS['post']
и $_REQUEST[]
в этой части кода. Ни напрямую, ни с помощью функции apply_filters()
, которую я сам внедрил в часть кода.
ОБНОВЛЕНИЕ: мне удалось получить идентификатор с помощью get_posts()
и ярлыка текущего форума/темы.
Итак, мой вопрос
Есть ли какое-нибудь решение для моей первой попытки, за которой я, возможно, наблюдал?
Если нет, может быть, есть какой-нибудь другой плагин, который может решить мою проблему, о которой я не знаю?
Или такое даже в bbpress невозможно?