Reindirizzamento alla pagina corrente dopo il login WordPress

10 dic 2013, 15:00:53
Visualizzazioni: 34K
Voti: 3

Voglio semplicemente reindirizzare gli utenti alla loro pagina corrente dopo aver effettuato il login nel mio sito WordPress. Ho utilizzato il seguente codice ma non funziona per me poiché si trova in una pagina creata dal lato amministrativo.

<?php echo wp_login_url(get_permalink()); ?>
2
Commenti

Per favore, segui le domande che hai posto, è una parte importante del processo su WPSE - vedi Cosa devo fare quando qualcuno risponde alla mia domanda? e Perché il voto è importante? per una comprensione più approfondita.

Nicolai Grossherr Nicolai Grossherr
8 apr 2014 16:33:23
Tutte le risposte alla domanda 5
0

Puoi utilizzare il filtro login_redirect per fare questo. Uno dei parametri è $request, che

è l'URL da cui proviene l'utente

function wpse125952_redirect_to_request( $redirect_to, $request, $user ){
    // invece di usare $redirect_to stiamo reindirizzando nuovamente a $request
    return $request;
}
add_filter('login_redirect', 'wpse125952_redirect_to_request', 10, 3);

Il filtro potrebbe inoltre essere facilmente utilizzato per distinguere le destinazioni di reindirizzamento in base ai ruoli degli utenti. Dai un'occhiata alla documentazione per una comprensione più approfondita di questo aspetto.

10 dic 2013 15:27:50
0

Prova wp_redirect() http://codex.wordpress.org/Function_Reference/wp_redirect Forse the_permalink() potrebbe aiutarti a seconda di dove stai effettuando l'accesso.

In alternativa, è questo quello che stai cercando?

<a href="<?php echo wp_login_url( get_permalink() ); ?>" title="Accesso">Accesso</a>
10 dic 2013 15:14:00
0

Cosa intendi con la pagina corrente dell'utente?

Ad ogni modo, hai provato a utilizzare la funzione integrata wp_login_form()?

Potresti usarla in questo modo:

$args = array(
    'echo' => true,
    // Questa potrebbe essere la Pagina Corrente dell'Utente?
    'redirect' => site_url( $_SERVER['REQUEST_URI'] ),
    'form_id' => 'user-login-form',
    'label_username' => __( 'Username' ),
    'label_password' => __( 'Password' ),
    'label_remember' => __( 'Remember Me' ),
    'label_log_in' => __( 'Log In' ),
    'id_username' => 'user_login',
    'id_password' => 'user_pass',
    'id_remember' => 'rememberme',
    'id_submit' => 'wp-submit',
    'remember' => true,
    'value_username' => NULL,
    'value_remember' => false );

wp_login_form( $args );
11 dic 2013 06:41:57
1

Aggiungi quanto segue nel tuo file function.php

function admin_default_page() {
  $site=get_site_url();
  $site1=$site."/* slug- nome della pagina */";
  return $site1;
}
add_filter('login_redirect', 'admin_default_page');
18 mag 2020 11:44:42
Commenti

Includi sempre una breve spiegazione con la risposta che pubblichi - in questo modo gli utenti possono comprendere qual è la soluzione, perché è una buona soluzione, cosa fanno le diverse funzionalità, ecc.

Tony Djukic Tony Djukic
18 mag 2020 17:23:25
0
-1

Problema risolto. Ho installato un plugin per WordPress per eseguire codice PHP nelle pagine. Quindi

<?php echo wp_login_url(get_permalink()); ?>

funziona correttamente sulle pagine di WordPress. http://wordpress.org/plugins/insert-php/

11 dic 2013 06:24:45