/ / Come reindirizzare gli utenti dal login WP all'URL personalizzato tramite un plugin: php, wordpress

Come reindirizzare gli utenti dal login WP all'URL personalizzato tramite un plugin: php, wordpress

Ho creato un plugin per Wordpress che crea un login personalizzato per gli utenti di Wordpress. ma ora voglio reindirizzare ogni utente che vuole accedere al mio login personalizzato. Voglio invocare quel cambiamento dal mio plugin.

Ho visto alcune soluzioni con il metodo add_action da inserire nel function.php del tema, ma come farlo a livello di programmazione dal plugin.

Sono un noobie in WP Plugin dev, i frammenti di codice sono apprezzati.

Grazie

risposte:

0 per risposta № 1

Basta aggiungere il seguente codice al file ".php" del plugin:

/**
* Redirect user after successful login.
* @param string $redirect_to URL to redirect to.
* @param string $request URL the user is coming from.
* @param object $user Logged user"s data.
* @return string
*/

function my_login_redirect( $redirect_to, $request, $user ) {
//is there a user to check?
if ( isset( $user->roles ) && is_array( $user->roles ) ) {
//check for admins
if ( in_array( "administrator", $user->roles ) ) {
// redirect them to the default place
return $redirect_to;
} else {
return home_url();
}
} else {
return $redirect_to;
}
}

add_filter( "login_redirect", "my_login_redirect", 10, 3 );

In questo modo reindirizzare le persone alla pagina da cui hanno effettuato l'accesso se dispongono di privilegi di amministratore o di tornare alla home page. È possibile adattare questo come necessario per soddisfare le esigenze di reindirizzamento.

O se vuoi reindirizzare in modo specifico tutti gli utenti a una pagina fissa / uri puoi usare questa versione più semplice:

function your_function() {
// your code
wp_redirect("http://yourdomain.com/your-page") ;
}
add_action("wp_login", "your_function");

Puoi trovare maggiori informazioni nel codice.