Rendre le formulaire de connexion dans mon thème personnalisé WordPress
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.
0 commentaire