<?php return ob_get_clean(); } add_shortcode(‘custom_registration_form’, ‘custom_registration_form’); // Manejar la creación del usuario function custom_registration_action() { if ( isset($_POST[‘username’]) && isset($_POST[’email’]) && isset($_POST[‘password’]) && isset($_POST[‘confirm_password’]) ) { $username = sanitize_user($_POST[‘username’]); $email = sanitize_email($_POST[’email’]); $password = $_POST[‘password’]; $confirm_password = $_POST[‘confirm_password’]; // Verificar que las contraseñas coinciden if ($password !== $confirm_password) { wp_redirect(add_query_arg(‘registration’, ‘password_mismatch’, wp_get_referer())); exit; } // Verificar si el nombre de usuario ya está registrado if (username_exists($username)) { wp_redirect(add_query_arg(‘registration’, ‘username_exists’, wp_get_referer())); exit; } // Verificar si el correo electrónico ya está registrado if (email_exists($email)) { wp_redirect(add_query_arg(‘registration’, ’email_exists’, wp_get_referer())); exit; } // Crear el nuevo usuario $user_id = wp_create_user($username, $password, $email); if (is_wp_error($user_id)) { wp_redirect(add_query_arg(‘registration’, ‘failed’, wp_get_referer())); } else { wp_redirect(home_url()); } exit; } } add_action(‘admin_post_nopriv_custom_registration’, ‘custom_registration_action’); add_action(‘admin_post_custom_registration’, ‘custom_registration_action’);