come reindirizzare gli utenti a una pagina di login personalizzata quando viene cliccato "accedi per rispondere"?

28 gen 2014, 21:44:09
Visualizzazioni: 16.3K
Voti: 0

Sto costruendo il mio sito su WordPress e ho creato una pagina di login personalizzata. Ma per un post, quando un utente commenta e altri utenti non loggati vedono il commento insieme alla scritta "Accedi per rispondere". Quando l'utente clicca su "Accedi" da "Accedi per rispondere", viene reindirizzato a wp-login.php. Come posso reindirizzare gli utenti alla mia pagina di login personalizzata invece di wp-login.php quando cliccano su "Accedi per rispondere" in un post di WordPress?

0
Tutte le risposte alla domanda 1
7

Devi reindirizzare ogni volta che WordPress cerca wp-login.php.

Puoi farlo utilizzando il seguente codice nel file functions.php del tuo tema attivo.

function redirect_login_page(){

    // Memorizza per verificare se questa pagina è uguale a wp-login.php
    $page_viewed = basename( $_SERVER['REQUEST_URI'] );

    // permalink alla pagina di login personalizzata
    $login_page  = get_permalink( 'CUSTOM_LOGIN_PAGE_ID' );

    if( $page_viewed == "wp-login.php" ) {
        wp_redirect( $login_page );
        exit();
    }
}

add_action( 'init','redirect_login_page' );
29 gen 2014 09:13:46
Commenti

grazie per il tuo aiuto. Ho una cosa da chiederti. Ho rinominato wp-login.php con il nome del plugin wp-login.php. Quindi devo usare quel nome rinominato in quel codice o wp-login?

user3187719 user3187719
29 gen 2014 09:21:44

Per favore non modificare mai i file core, poiché perderai tutte queste modifiche durante l'aggiornamento e wp-login.php è un file core

Maruti Mohanty Maruti Mohanty
29 gen 2014 09:23:05

No, l'ho fatto solo con un plugin. Quando disattivo il plugin, torna alla normalità. Quindi per favore dimmi cosa usare: wp-login.php rinominato o wp-login.php.

user3187719 user3187719
29 gen 2014 09:27:56

Non sono sicuro di ciò che stai dicendo, ma la linea di base è che dovresti fare del tuo meglio per non modificare i file core.

Maruti Mohanty Maruti Mohanty
29 gen 2014 09:30:08

Ancora non sono sicuro di quale sia la confusione, hai incollato lo stesso codice che ho inserito come risposta

Maruti Mohanty Maruti Mohanty
29 gen 2014 09:38:02

posso metterlo così function redirect_login_page(){ // Store for checking if this page equals wp-login.php $page_viewed = basename( $_SERVER['REQUEST_URI'] ); // permalink to the custom login page $login_page = get_permalink( 'CUSTOM_LOGIN_PAGE_ID' ); if( $page_viewed == "mylogin" ) { wp_redirect( $login_page ); exit(); } } add_action( 'init','redirect_login_page' ); Dove 'mylogin' è quello che ho rinominato. Scusa il precedente era per sbaglio.

user3187719 user3187719
29 gen 2014 09:39:35

A quanto pare, utilizzando questo metodo, se reindirizzi wp-login a una pagina con un modulo di login front-end, non sarai in grado di accedere lì. Sembra che WP rimanga bloccato in un loop, una volta inviato il login la pagina si limita a ricaricarsi

zok zok
21 giu 2016 19:27:35
Mostra i restanti 2 commenti