如何使用自定义字段以编程方式创建新用户?


18

我想用一些自定义字段创建用户。我通过配置>人员>站点信息>管理字段和字段(例如名字,姓氏,城市等)创建了额外的字段。我想使用此自定义字段创建用户。

如何以编程方式创建用户?

Answers:


25

使用user_saveDrupal功能,您可以像这样创建新用户:

$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);

我不确定该怎么access做,我已经从user_save页面上对do的注释中复制了此注释并对其进行了修改,因此我对它的作用不是100%access。我要假设这是最后访问日期,所以如果是新用户,我猜应该不设置该日期。
Beebee 2013年

感谢它对我的工作。很抱歉延迟重播。
Pranav Gandhi

@GandhiPranav如果他们帮助了您,请不要忘记接受您的问题的答案;这样一来,未来的访客就可以知道特定的解决方案就是解决您特定问题的解决方案,并奖励回答者的努力。您可以通过单击投票指示器下方的复选标记来接受答案。谢谢:)
Clive

访问是刚刚过去的访问字段(如“创造”领域
ergophobe

这可以创建新用户,但是没有像节点那样的“首选”实体方式吗?涉及到entity_create_stub_entity('user')或entity_metadata_wrapper(..)?我问,因为我一直在努力以实体的方式来做.. :)
texas-bronius 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.