wordpress función wp_insert_user

2 minutos de lectura

avatar de usuario
danio

Estoy en proceso de crear un formulario de registro personalizado para WordPress.
Mi problema es agregar meta de usuario personalizado. creo que la funcion wp_insert_user solo le permitirá agregar los campos predeterminados dentro de la tabla de usuarios de WordPress.

Aquí está mi código de prueba actual:

$username="12344";
$password = '1111';
$user_data = array(
'ID' => '',
'user_pass' => $password,
'user_login' => $username,
'display_name' => $loginName,
'first_name' => $firstName,
'last_name' => $lastName,
'role' => get_option('default_role') ,
'user_secondry_email' => '[email protected]'// Use default role or another role, e.g. 'editor'
);
$user_id = wp_insert_user( $user_data );
wp_hash_password( $password );

he encontrado el add_user_meta función, pero esto requiere una identificación para agregar los metadatos. Obviamente, el usuario aún no se ha creado, por lo que no tendrá una identificación. ¿Alguna idea sobre cómo evitar esto?

gracias, dan

avatar de usuario
ricardo rodriguez

Por lo que entiendo de la documentación de wordpressla ID campo es opcional.

Si está presente, se actualiza el usuario, si no, se crea y el ID del nuevo usuario es devuelto por la función.

avatar de usuario
ryan s

Si entiendo su problema correctamente, desea agregar un nuevo user_meta al usuario registrado actual.

Así es como lo hice.

// this code insert the user, same on your code above just remove the ID field :)
$new_userid = wp_insert_user( $user_data );

$is_success = add_user_meta( $new_userid, 'position', 'programmer', true );
if( $is_success  ) {
   echo 'Successfully added';
} else {
   echo 'Error on user creation';
}

**NOTE:**
$new_userid = Is the return value from adding our new user and use that ID in adding new user meta

Espero que esta ayuda y otros usuarios busquen la misma solución.

Elimine el valor de ID de la matriz por completo y debería funcionar. (por ejemplo, elimine ‘ID’ => ”)

Además, no creo que “user_secondary_email” sea un campo permitido para la nueva matriz de usuarios. La lista de campos está aquí: http://codex.wordpress.org/Function_Reference/wp_insert_user

(En su ejemplo, al “user_secondry_email” le falta una ‘a’)

¡Buena suerte!

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad