Maison > développement back-end > tutoriel php > Comment créer un modal contextuel de connexion personnalisé WordPress sans aucun plugin.

Comment créer un modal contextuel de connexion personnalisé WordPress sans aucun plugin.

Mary-Kate Olsen
Libérer: 2024-12-09 16:26:22
original
801 Les gens l'ont consulté

How to Create a WordPress Custom Login Popup Modal without any plugin.

se connecter Étape 1 :
Créer un shortcode du formulaire de connexion Cusom :

// custom sign in popup form shortcod
function custom_login_form() {

    // Display the login form
    ob_start();

    ?>
    <form method="post">



<p><strong>sign in Step-2:</strong><br>
Create login form handle function:<br>
</p>

<pre class="brush:php;toolbar:false">
// custom sign in poup form handle
function handle_custom_login() {
    if (isset($_POST['login'])) {
        $useremail = sanitize_user($_POST['useremail']);
        $password = sanitize_text_field($_POST['password']);
        $creds = array(
            'user_login'    => $useremail,
            'user_password' => $password,
            'remember'      => isset($_POST['remember']),
        );

        $user = wp_signon($creds, false);

        if (is_wp_error($user)) {
            echo '<script>alert("Login failed: ' . $user->get_error_message() . '");</script>';
        } else {
            wp_redirect(home_url());
            exit;
        }
    }
}
add_action('init', 'handle_custom_login');
Copier après la connexion

Connectez-vous Étape 3 :
ajoutez un shortcod dans votre modale contextuelle.

Inscription personnalisée

inscrivez-vous Étape 1 :
Créer une fonction pour le shortcode du formulaire d'inscription Cusom :

// custom registration form

function custom_registration_form() {

    ?>
    <form method="post">



<p><strong>sign up Step-2:</strong><br>
Create function for handle Sign up form request:<br>
</p>

<pre class="brush:php;toolbar:false">
// custom sign up form handle
function handle_custom_signup() {
    if (isset($_POST['register'])) {
        $username = sanitize_user($_POST['username']);
        $email = sanitize_email($_POST['email']);
        $password = sanitize_text_field($_POST['password']);

        // Check if the username and email already exist
        if (username_exists($username)) {
            echo '<script>alert("Username already exists.");</script>';
            return;
        }
        if (email_exists($email)) {
            echo '<script>alert("Email is already registered.");</script>';
            return;
        }

        // Create a new user
        $user_id = wp_create_user($username, $password, $email);

        if (is_wp_error($user_id)) {
            echo '<script>alert("Error: ' . $user_id->get_error_message() . '");</script>';
        } else {
            echo '<script>alert("Registration successful! You can now log in.");</script>';
        }
    }
}
add_action('init', 'handle_custom_signup');
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal