登録時にいくつかのメタフィールドを更新し、ユーザーにパスワードを選択するオプションを提供します。登録電子メールは自動生成されたパスワードを送信します。ユーザー定義のパスワードは機能し、パスをEメールで送信することはできません。
add_action( 'user_register', 'jwh_register_extra_fields', 100 );
function jwh_register_extra_fields( $user_id, $password = '', $meta = array() ) {
$userdata = array();
$userdata['ID'] = $user_id;
if ( $_POST['password'] !== '' ) {
$userdata['user_pass'] = $_POST['password'];
}
$userdata['first_name'] = $_POST['first_name'];
$userdata['last_name'] = $_POST['last_name'];
$userdata['user_url'] = $_POST['user_url'];
$new_user_id = wp_update_user( $userdata );
}
WPSEへようこそ。あなたは wp_insert_user を使うことができます、あなたは何にもフックする必要はありません。
ここで彼らが名前、ユーザー名、電子メールとパスワードのフィールドでフォームに記入し、あなたが望むならそれをキャプチャすると仮定します。
$name_array = explode(' ',$_POST['name']);
$user = array(
'user_login' => $_POST['username'],
'user_pass' => $_POST['password'],
'user_email' => $_POST['email'],
'first_name' => $name_array[0],
'last_name' => $name_array[1],
);
$user_id = wp_insert_user( $user );
wp_new_user_notification( $user_id, $_POST['password'] );