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 $referrer
pour une autre page.
J’espère que cela fonctionnera pour vous.
0 commentaire