Registration Form

// ==== 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’);