Rendre le formulaire de connexion dans mon thème personnalisé WordPress

Publié par Jean-Michel le

Je rends le formulaire de connexion sur mon modèle d’en-tête en utilisant ce code :

 <?php wp_login_form($args); ?>

Lorsque je passe les informations d’identification appropriées, cela me redirige vers la page d’accueil et tout semble aller bien, mais lorsque je mets un mauvais identifiant ou un mauvais mot de passe, cela me redirige vers l’url suivante :

http://localhost/wordpress/wp-login.php

La question est donc de savoir comment je peux générer des erreurs sur la même page et empêcher la redirection vers le wp-login? J’essaie de trouver une solution mais je n’ai eu aucun résultat. Merci!

Solution n°1 trouvée

Ajoutez ceci à votre functions.php :

add_action( 'wp_login_failed', 'my_front_end_login_fail' );  // hook failed login

    function my_front_end_login_fail( $username ) {
       $referrer = $_SERVER['HTTP_REFERER'];  // where did the post submission come from?
       // if there's a valid referrer, and it's not the default log-in screen
       if ( !empty($referrer) && !strstr($referrer,'wp-login') && !strstr($referrer,'wp-admin') ) {
          wp_redirect( $referrer . '?login=failed' );  // let's append some information (login=failed) to the URL for the theme to use
          exit;
       }
    }

Ce code redirige vers la même page à partir de laquelle l’utilisateur tente de se connecter. Changer $referrerpour une autre page.

J’espère que cela fonctionnera pour vous.

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *