Создать ещё одну роль (напр копию «подписчик») можно с пом плагинов для управления возможностями ролей. Напр URE.
Однако для многопользовательского сайта стоит использовать спец. плагины для управления юзерами. И первое что они делают — не пускают никого «не нужного» в админку.
Однако Вы не сказали что Ваши юзеры должны уметь делать после регистрации. Для чего им регаться вообще.
Спасибо. На самом деле не очень хотелось использовать плагины, вроде нагулил что это возможно сделать с помощью функции add_role(); например:
// Add a custom user role
$result = add_role( 'client', __(
'Client' ),
array(
'read' => true, // true allows this capability
'edit_posts' => true, // Allows user to edit their own posts
'edit_pages' => true, // Allows user to edit pages
'edit_others_posts' => true, // Allows user to edit others posts not just their own
'create_posts' => true, // Allows user to create new posts
'manage_categories' => true, // Allows user to manage post categories
'publish_posts' => true, // Allows the user to publish, otherwise posts stays in draft mode
'edit_themes' => false, // false denies this capability. User can’t edit your theme
'install_plugins' => false, // User cant add new plugins
'update_plugin' => false, // User can’t update any plugins
'update_core' => false // user cant perform core updates
)
);
Новая роль для пользователей для того что бы в этой роли были доступны дополнительные поля в личном кабинете пользователя, функционал ролей немного отличается.
Остаётся открытым вопрос как присвоить нужную роль пользователю при регистрации, например при чекбоксе.
Подойдёт ли для этой цели WP_User::set_role( string $role )?
-
Ответ изменён 6 лет, 4 месяца назад пользователем arahort.
На самом деле не очень хотелось использовать плагины
Плагинофобия лечится изучением матчасти.
А в данном случае костыли могут стать дороже. Нет, я не про add_role
, а в более глобальном плане — в многопользовательских системах есть много мест, требующих внимания, о чем возможно, Вы даже не подозреваете. И многое из этого уже реализовано в плагинах.
Остаётся открытым вопрос как присвоить нужную роль пользователю при регистрации, например при чекбоксе.
Подойдёт ли для этой цели WP_User::set_role( string $role )?
Наверное 🙂
Спасибо за совет! В таком случае пожалуй воспользуюсь User Role Editor, я просто думал что своя функция надёжней т.к плагины надо обновлять(а этого скорее всего никто делать не будет) или же после обновления плагинов иногда случаются баги итд, поэтому если задачу возможно сделать 1 строкой в functions, то стараюсь избегать установки плагинов) Попробую реализовать, о результатах отпишусь, может кому в будущем пригодится)
В таком случае пожалуй воспользуюсь User Role Editor
Лучше воспользуется плагинами для управления пользователями. Поверьте, это будет намного лучше.
Только тестируйте их на тестовом сайте.