La fonction wordpress wp_insert_user ne semble pas définir (écraser) l'entrée que je donne. (La documentation montre que vous ne pouvez pas le faire). Essayer d'utiliser: wp_insert_user en utilisant l'ID utilisateur renvoyé ne fonctionne pas non plus.
Bien sûr, je pourrais faire ma propre requête, mais j'oublie peut-être une option pour insérer ces données en utilisant une fonction existante.
$userdata = array(
//user login
'user_pass' => esc_attr( $_POST['pass'] ),
'user_login' => esc_attr( $_POST['user'] ),
'user_email' => esc_attr( $_POST['email'] ),
//user meta
'rich_editing' => false,
'comment_shortcuts' => false,
'show_admin_bar_front' => false,
'wp_user_level' => 0,
'wp_capabilities' => 'a:1:{s:10:"subscriber";s:1:"1";}'
);
$new_user_user_id = wp_insert_user( $userdata );
La meilleure chose à faire est de vous connecter à user_register
, puis de mettre à jour les options utilisateur que vous souhaitez définir. Voici un exemple de désactivation de la barre d'administration pour les nouveaux utilisateurs:
add_action("user_register", "sc_set_user_admin_bar_false_by_default", 10, 1);
function sc_set_user_admin_bar_false_by_default($user_id) {
update_user_meta( $user_id, 'show_admin_bar_front', 'false' );
update_user_meta( $user_id, 'show_admin_bar_admin', 'false' );
}
La page codex pour wp_insert_user()
répertorie toutes les valeurs acceptées. comment_shortcuts
et show_admin_bar_front
devront tous être définis avec update_user_meta()
.
Pour gérer wp_user_level
et wp_capabilities
, vous devrez utiliser WP_User
.
Vous pouvez utiliser $new_user_user_id
(nom long de la variable lol) pour WP_User
et update_user_meta()