// ==== User Registration Form ====
function custom_registration_form() {
ob_start(); ?>
<form action="" method="post">
<p>
<label for="username">Username</label><br>
<input type="text" name="username" required>
</p>
<p>
<label for="email">Email</label><br>
<input type="email" name="email" required>
</p>
<p>
<label for="password">Password</label><br>
<input type="password" name="password" required>
</p>
<p>
<label for="phone">Phone</label><br>
<input type="text" name="phone" required>
</p>
<p>
<label for="address">Address</label><br>
<textarea name="address" required></textarea>
</p>
<p>
<input type="submit" name="register_user" value="Register">
</p>
</form>
<?php
return ob_get_clean();
}
add_shortcode(‘custom_register’, ‘custom_registration_form’);
// ==== Handle Registration ====
function custom_registration_handler() {
if (isset($_POST[‘register_user’])) {
$username = sanitize_user($_POST[‘username’]);
$email = sanitize_email($_POST[’email’]);
$password = sanitize_text_field($_POST[‘password’]);
$phone = sanitize_text_field($_POST[‘phone’]);
$address = sanitize_textarea_field($_POST[‘address’]);
$user_id = wp_create_user($username, $password, $email);
if (is_wp_error($user_id)) {
echo '<p style="color:red;">' . $user_id->get_error_message() . '</p>';
} else {
// Save extra fields in user meta
update_user_meta($user_id, 'phone', $phone);
update_user_meta($user_id, 'address', $address);
echo '<p style="color:green;">Registration successful! You can now login.</p>';
}
}
}
add_action(‘wp’, ‘custom_registration_handler’);