您可以手動設置頭像供用戶使用wp_insert_attachent。因爲秒參數是
1)下載圖像wp_upload_dir
:
服務器上的文件的
位置,則應使用該步驟。使用絕對路徑而不是文件的URI 。該文件必須在上傳目錄
2)創建附件與wp_insert_attachent
3)將化身用戶與update_user_meta
這樣的代碼可以是這樣的(我前不久寫了什麼的我們wordpress,所以也許這個代碼不能馬上工作,所以可能需要一些改進):
// url for user avatar
$imageUrl = '...';
$user_id = username_exists($user_name);
if (!$user_id and email_exists($user_email) == false) {
$random_password = wp_generate_password(
$length=12, $include_standard_special_chars=false);
$user_id = wp_create_user(
$user_name, $random_password, $user_email);
$upload_dir = wp_upload_dir();
// Download file by url and save it
// to our file system into $upload_dir
$file = $upload_dir.DIRECTORY_SEPARATOR.$user_id.
'avatar_'.basename($imageUrl);
copy($imageUrl, $file);
// Create attachment
$wp_filetype = wp_check_filetype(basename($file), null);
$attachment = array(
'guid' => $upload_dir['url'] .
DIRECTORY_SEPARATOR . basename($file),
'post_mime_type' => $wp_filetype['type'],
'post_title' => preg_replace('/\.[^.]+$/', '', basename($file)),
'post_content' => '',
'post_status' => 'inherit'
);
$attach_id = wp_insert_attachment($attachment, $file);
$attach_data = wp_generate_attachment_metadata($attach_id, $file);
wp_update_attachment_metadata($attach_id, $attach_data);
// Attach avatar to user
delete_metadata('post', null, '_wp_attachment_wp_user_avatar',
$user_id, true);
update_user_meta($user_id, '_wp_attachment_wp_user_avatar', $attach_id);
update_user_meta($user_id,
$wpdb->get_blog_prefix($blog_id) . 'user_avatar', $attach_id);
} else {
$random_password = __('User already exists. Password inherited.');
}
我認爲你必須爲用戶圖像創建自己的自定義設置,或使用第三方插件。 –