Stai cercando un modo per reindirizzare i tentativi di accesso falliti in qualsiasi punto del tuo sito web? Sebbene probabilmente esista un plugin per questo, abbiamo creato un rapido snippet di codice che puoi utilizzare per reindirizzare i tentativi di accesso falliti in qualsiasi punto di WordPress.
Istruzioni:
Tutto quello che devi fare è aggiungere questo codice al file functions.php del tuo tema o in un plugin specifico per il sito:
add_action( 'wp_login_failed', 'my_front_end_login_fail' );
function my_front_end_login_fail( $username ) {
$referrer = $_SERVER['HTTP_REFERER'];
if ( !empty($referrer) && !strstr($referrer,'wp-login') && !strstr($referrer,'wp-admin') ) {
wp_redirect( $referrer . '?login=failed' );
exit;
}
}
Nota: Se questa è la prima volta che aggiungi snippet di codice in WordPress, consulta la nostra guida su come aggiungere correttamente snippet di codice in WordPress, in modo da non compromettere accidentalmente il tuo sito.
Se ti è piaciuto questo snippet di codice, prendi in considerazione la lettura dei nostri altri articoli sul sito come: 43 migliori temi di fotografia per WordPress e come creare un modulo di contatto in WordPress.
Ciao, Vorrei chiedere che dopo aver aggiunto questo snippet di codice in WordPress non riesco più ad accedere alla mia pagina di accesso predefinita di wp-admin. Puoi guidarmi su come posso accedere alla mia pagina di accesso predefinita di wp-admin?
Ciao, sto usando l'account woocommerce come mia pagina di accesso, puoi dirmi un modo per bloccare l'utente in base al nome utente quando non riesce ad accedere 3 volte invece di bloccare l'indirizzo IP?
Prova ad aggiungere il plugin Wordfence
Questo snippet funziona ancora? Perché i miei accessi falliti vengono ancora reindirizzati a wp-login.php
Sono su WordPress 5.0.3
Grazie mille! Stavo cercando ovunque qualcosa del genere.
Ho 2 domande: è possibile aggiungere un reindirizzamento quando l'utente lascia i campi vuoti? e come posso restituire un messaggio di errore di accesso non corretto?
grazie ancora!
Ciao Eric, quanto segue dovrebbe aiutarti,
Controllato dall'utente
http://wpsnipp.com/index.php/functions-php/user-controlled-optional-login-redirect/
Reindirizza alla pagina di riferimento
http://wpsnipp.com/index.php/functions-php/redirect-back-to-referring-page-after-login/
Aggiungi un messaggio personalizzato alla schermata di accesso
http://wpsnipp.com/index.php/functions-php/add-a-custom-message-to-the-login-screen/
Grazie, dopo tanti snippet che ho provato, questo funziona. ma ora sono bloccato con il reindirizzamento sulla mia pagina. Voglio dire, si sta reindirizzando all'ultima pagina ma voglio avvisare il mio utente che ha inserito un ID utente o una password errati. Come visualizzare quel messaggio? o magari reindirizzare alla mia pagina personalizzata.
Penso che il reindirizzamento a una pagina personalizzata funzionerebbe meglio,
Sì, va bene, ma come reindirizzare? Non sono un esperto di PHP, quindi non so dove dovrei mettere il mio URL per quella pagina?
La riga 5 è il reindirizzamento,
wp_redirect( $referrer . ‘?login=failed’ );
http://codex.wordpress.org/Function_Reference/wp_redirect
Questa pagina contiene maggiori dettagli sulla funzione wp_reidrect.
Va bene! Fatto. Grazie mille per il tuo aiuto immediato.
Ancora una cosa, perché il tuo ultimo commento non ha il link per rispondere?
Sono contento di sentire che hai risolto. Ottimo lavoro. Per quanto riguarda la tua domanda sui commenti, questo è solo il livello di commenti annidati che consento. Poiché alla fine si anniderebbe così tanto che non saremmo più in grado di leggere i commenti 🙂