Добвление роли при создании пользователя на сайте
Я использую функцию add_role(), чтобы добавить еще одну роль новому юзеру, кроме той, которая прописана по умолчанию. Несколько ролей юзеру иметь разрешено.
$us=get_user_by('id', $customer_id); $us->add_role("Amelia Customer");
Но в результате я не получаю роль, а получаю что-то другое, что в WP в профиле пользователя называется "Дополнительные возмоности". Что я делаю не так?
[caps] => Array ( [customer] => 1 [Amelia Customer] => 1 ) [cap_key] => wp7l_capabilities [roles] => Array ( [0] => customer ) [allcaps] => Array ( [read] => 1 [customer] => 1 [Amelia Customer] => 1 )
Роль нужно для начала зарегистрировать add_role(), а потом назначать её пользователям.
Но я же вижу эту роль в списке ролей. Я специально скриншот приложил, где видно роль "Amelia Customer" в списке. Роль добавлена плагином, может быть в этом дело?
Не обратил внимания. При регистрации роли ей задается название роли (ярлык) и Отображаемое название. В списке показано второе, а тебе нужно указать ярлык.
Спасибо, сработало. Как я понимаю, когда я указывал Отображаемое название, add_role() вообще не срабатывала, потому что не находила параметр в списке ярлыков. Тогда еще вопрос: что такое "Дополнительные возмоности" и массивы [caps] и [allcaps]?