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
723 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!

source:dev.to
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