2012-09-04 39 views
2

我正在爲WordPress創建自定義註冊表單。
我的問題是添加自定義用戶元。我相信功能wp_insert_user將只允許您在WordPress用戶表中添加默認字段。wordpress wp_insert_user功能

這是我目前的測試代碼:

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

我已經找到了add_user_meta功能,但這需要一個ID添加元數據。顯然用戶還沒有被創建,所以他們沒有ID。任何想法如何解決這個問題?

感謝,丹

回答

4

對於我從Wordpress documentation明白了,ID字段是可選的。

如果存在,則更新用戶,如果不存在,則創建該用戶,並由該功能返回新用戶的ID

3

如果我正確理解你的問題,你想添加新的user_meta到當前註冊用戶。

下面是我做到的。

// 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 

希望這個幫助和其他用戶尋找相同的解決方案。

0

完全從數組中刪除ID值,它應該工作。 (例如刪除'ID'=>'')

此外,我不認爲「user_secondary_email」是新用戶數組的允許字段。該字段列表是在這裏:http://codex.wordpress.org/Function_Reference/wp_insert_user

(在您的例子中, 「user_secondry_email」 缺少一個 'A')

祝你好運!