Tengo funciones personalizadas en mi configuración y deseo poder cambiar automáticamente la función de un usuario a través de una función. Digamos que el usuario A tiene un rol de SUSCRIPTOR, ¿cómo lo cambio a EDITOR? Al agregar un rol, simplemente:
add_role( $role_name , $role_display_name , array( 'read' => true,
'edit_posts' => false,
'delete_posts' => false, ));
¿Qué tal cambiar un rol? ¿Hay algo como:
change_role($old_role, $new_role);
ACTUALIZACIÓN: Creo que este hará:
$wp_user_object = new WP_User($current_user->ID);
$wp_user_object->set_role('editor');
fuente
remove_role()
yadd_rule()
guardar datos en la base de datos?Solo tenga en cuenta que hay una forma más sencilla de cambiar la función del usuario que es especialmente útil cuando no conoce la función actual del usuario:
->set_role()
Ejemplo:
fuente
Para extrapolar la respuesta de t31os, puede incluir algo como esto en su archivo de funciones si desea hacerlo programáticamente en función de una condición
fuente
$blogID
está mal.get_users()
utilizará la ID del blog actual por defecto de todos modos.Puede cambiar la función de cualquier usuario editando el perfil de los usuarios. No es necesario agregar más código cuando esta opción ya está integrada en WordPress.
O
Puede usar el código para cambiar todos los usuarios actuales con el rol de suscriptor a editor:
fuente
¡Hay una función de WordPress para eso!
Creo que es mejor usar las funciones de WordPress, siempre y cuando estén disponibles.
Puede usar la función wp_insert_user () , donde uno de los argumentos que deberá proporcionar es $ userdata ['role']. En este argumento, puede especificar la función en la que desea cambiar el usuario.
fuente
debe incluir /wp-includes/registration.php, si usa el código como un script independiente. Saludos Uwe
fuente
Puede usar wp_update_user . Su código debería ser así:
fuente
fuente
Sé que es un muy antiguo puesto, pero he encontrado que las funciones de los usuarios se almacenan en
wp_usermeta
la tabla con la clavewp_capabilities
demeta_key
columna.Si desea cambiar la función del usuario, puede hacerlo con esta sencilla función.
Hay dos formas de usar esta función.
Si desea cambiar el rol para un solo rol.
O si desea agregar roles múltiples al usuario, use los roles como matriz en el segundo parámetro.
Buena suerte.
fuente