<?php get_header(); ?>
<main>
<?php
// データの初期化
$flag = 1;
$errors = [];
if ( isset($_POST['submit_register']) ) {
// サニタイズ
$name = sanitize_text_field($_POST['input_name']);
$password = sanitize_text_field($_POST['input_password']);
// バリデーション
if ( empty($name) ) { $errors[] = 'ユーザー名が入力されていません'; }
if ( empty($password) ) { $errors[] = 'パスワードが入力されていません'; }
if ( empty($errors) ) {
// ユーザーの作成
$user = array(
'user_login' => $name,
'user_pass' => $password,
'role' => 'subscriber',
);
// wp_usersテーブルにユーザー情報を登録
$inserted = wp_insert_user($user);
if ( is_wp_error($inserted) ) {
echo 'ERROR: ' . $inserted->get_error_message ;
} else {
$flag = 2;
}
}
}
?>
<?php if ( $flag == 2 ) : ?>
<div>
<p>ユーザー登録が完了しました。</p>
<a href="<?php home_url(); ?>">トップページはこちら。</a>
</div>
<?php else : ?>
<div>
<?php
if ( $errors ) {
foreach ( $errors as $error ) {
echo '<p>' . $error . '</p>';
}
}
?>
</div>
<form method='post' action=''>
<input type='text' name='input_name' placeholder='ユーザー名'>
<input type='text' name='input_password' placeholder='パスワード'>
<input type='submit' name='submit_register' value='ユーザー登録する'>
</form>
<?php endif; ?>
</main>
<?php get_footer(); ?>