¿Cómo crear un nuevo usuario mediante programación con campos personalizados?


18

Quiero crear usuarios con algunos campos personalizados. He creado campos adicionales a través de config> personas> información del sitio> administrar campos y campos como nombre, apellido, ciudad, etc. Quiero crear un usuario con estos campos personalizados.

¿Cómo puedo crear un usuario mediante programación?

Respuestas:


25

Usando la user_savefunción Drupal puedes crear nuevos usuarios así:

$new_user = array(
  'name' => 'JohnDoe',
  'mail' => 'john.doe@email.com',
  'pass' => 'password123',
  'status' => 1,
  'field_custom_first_name' => array(LANGUAGE_NONE => array(array('value' => 'John'))), // This becomes $account->field_custom_first_name[LANGUAGE_NONE][0]['value']
  'field_custom_last_name' => array(LANGUAGE_NONE => array(array('value' => 'Doe'))),
  'access' => REQUEST_TIME,
  'roles' => array(), // No other roles than Authenticated
  //'roles' => array('10' => '10', '11' => '11'), // If you want to specify additional roles, the numbers are role_id's
);
user_save(NULL, $new_user);

No estoy seguro de qué accesshace, he copiado esto de los comentarios de la página user_save sobre do y los he modificado, por lo que no estoy al 100% en lo que accesshace. Asumiré que es la última fecha de acceso, por lo que si se trata de un nuevo usuario, supongo que no debería establecerse.
— Beebee

gracias está funcionando bien para mí. y perdón por la repetición tardía.
— Pranav Gandhi

@GandhiPranav No olvides aceptar las respuestas a tus preguntas si te han ayudado; Esto les permite a los futuros visitantes saber que una solución particular fue la que resolvió su problema específico, y recompensa al respondedor por sus esfuerzos. Puede aceptar una respuesta haciendo clic en la marca de verificación debajo del indicador de voto. Gracias :)
— Clive

El acceso es solo el último campo de acceso (como el campo "creado"
— ergophobe

Esto funciona para crear nuevos usuarios, pero ¿no existe una forma de entidad "preferida" como con los nodos? ¿Algo relacionado con entity_create_stub_entity ('user') o entity_metadata_wrapper (..)? Lo pregunto porque he estado luchando por hacerlo de la manera entidad ... :)
— texas-bronius
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.