カスタムフィールドを使用してプログラムで新しいユーザーを作成する方法


18

いくつかのカスタムフィールドを持つユーザーを作成したい。config> people> site information> first name、last name、cityなどのフィールドとフィールドを管理して、追加のフィールドを作成しました。このカスタムフィールドを使用してユーザーを作成します。

プログラムでユーザーを作成するにはどうすればよいですか?

回答:


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ない。doのuser_saveページのコメントからこれをコピーして修正したので、何をするのか100%でaccessはない。最終アクセス日であると想定するため、新しいユーザーの場合は設定しないでください。
ビービー

それは私のために働いてくれてありがとう。再生が遅くなってすみません。
プラナフガンジー

@GandhiPranav助けてくれた質問への回答を受け入れることを忘れないでください。これにより、将来の訪問者は、特定のソリューションが特定の問題を解決したものであることを知ることができ、回答者の努力に報いることができます。投票インジケータの下にあるチェックマークをクリックすると、回答を受け入れることができます。ありがとう:)
クライブ

アクセスは、「作成」フィールドのようなだけで、最後のアクセスフィールド(ある
ergophobe

これは新しいユーザーを作成するために機能しますが、ノードのような「優先」エンティティの方法はありませんか?entity_create_stub_entity( 'user')またはentity_metadata_wrapper(..)に関係する何か?私はそれをエンティティの方法でやっているのに苦労しているので、私は尋ねます.. :)
テキサス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.