Можно ли сделать тему доступной только для определенных групп пользователей?

Возможно ли сделать тему доступной только для определённых групп пользователей? В общем, я хотел бы иметь «премиум-темы» для платных пользователей.

Аналогично в теме Horizon можно сделать доступными цветовые схемы только для определённых групп пользователей.

Понимаю, что это может быть невозможно из коробки, но если я захочу это реализовать, с чем мне нужно будет поработать?

PS: Я видел похожую тему, но она была опубликована 7 лет назад. Надеюсь, что с тех пор что-то изменилось или хотя бы стало проще создать собственный плагин для этого. Даже если потребуется кастомный плагин, пожалуйста, укажите мне дальнейшие шаги, чтобы я мог попробовать это сделать.

не без разработки плагина

Ссылка на тему, которая помогла задавшему похожий вопрос:

Это было решение только на CSS, которое не будет работать, если вы ограничиваете доступ для неоплачивающих участников. Это решение скрывало доступ для платящих участников.

Да, я видел это раньше. Значит, концепция и подход остались прежними? Спрашиваю, потому что эта тема уже 7 лет.

Что ж, создатель тем всё ещё работает :slight_smile:

Это решение на основе CSS, которое позволит скрыть премиум-темы в селекторе от пользователей. Предварительное условие: пользователь должен выбрать основную группу. Хотя также существует TC, который добавляет все группы пользователей в качестве классов.

Я веду техническое сообщество, там все бы разобрались! :sweat_smile:

О да… это было бы потрясающе.

Это возможно. Но они могут и не захотеть. Если безопасность вызывает опасения, вам понадобится кастомный плагин, чтобы мод работал на стороне сервера, а не клиента.

Однако, если ваше сообщество состоит из продвинутых пользователей, они могут создать скрипт Tampermonkey и настроить тему прямо в своём браузере.

Простого способа предотвратить выбор темы пользователями нет, но можно создать тему, которая проверяет группу текущего пользователя и, например, перенаправляет людей на страницу с предложением вернуть прежнюю тему или оформить подписку.