Tenho funções personalizadas em minha configuração e desejo poder alterar automaticamente a função de um usuário por meio de uma função. Digamos que o usuário A tenha uma função de ASSINANTE, como faço para alterá-lo para EDITOR? Ao adicionar uma função, apenas:
add_role( $role_name , $role_display_name , array( 'read' => true,
'edit_posts' => false,
'delete_posts' => false, ));
Que tal mudar um papel? Existe algo como:
change_role($old_role, $new_role);
UPDATE: Eu acho que este fará:
$wp_user_object = new WP_User($current_user->ID);
$wp_user_object->set_role('editor');
fonte
remove_role()
eadd_rule()
salvar dados no banco de dados?Observe que existe uma maneira mais simples de alterar a função do usuário, o que é especialmente útil quando você não conhece a função atual do usuário:
->set_role()
Exemplo:
fonte
Para extrapolar na resposta do t31os, você pode colocar algo assim no seu arquivo de funções se quiser fazer isso programaticamente com base em uma condição
fonte
$blogID
está errado.get_users()
de qualquer maneira, usará o ID do blog atual por padrão.Você pode alterar a função de qualquer usuário editando o perfil de usuários. Não há necessidade de adicionar mais código quando essa opção já estiver incorporada no WordPress.
Ou
Você pode usar o código para alterar todos os usuários atuais com a função de assinante para editor:
fonte
Há uma função WordPress para isso!
Eu acho que é melhor usar as funções do WordPress, se e quando estiverem disponíveis.
Você pode usar a função wp_insert_user () , onde um dos argumentos que você precisará fornecer é o $ userdata ['role']. Nesse argumento, você pode especificar a função na qual deseja mudar o usuário.
fonte
você deve incluir o /wp-includes/registration.php, se você usar o código como um script independente. Atenciosamente Uwe
fonte
Você pode usar wp_update_user . Seu código deve ser assim:
fonte
fonte
Eu sei que é uma publicação muito antiga, mas descobri que as funções dos usuários são armazenadas na
wp_usermeta
tabela com a chavewp_capabilities
nameta_key
coluna.Se você deseja alterar a função do usuário, pode fazê-lo com esta função simples.
Há duas maneiras de usar esta função.
Se você deseja alterar a função para uma única função.
Ou, se você quiser adicionar várias funções ao usuário, use as funções como matriz no segundo parâmetro.
Boa sorte.
fonte