web-dev-qa-db-fra.com

Comment rediriger après la connexion, la manière de travailler?

J'ai tout essayé: Peter's Login Redirect , Redirection , quelques piratages javascript inutiles, routemap PHP Class (ce qui est vraiment impressionnant, mais je ne suis pas sûr c'est très utile dans ce cas).

J'utilise Thème My Login , mais ses paramètres de redirection ne répondent tout simplement pas. (J'en ai toujours besoin, cependant).

Des idées?

4
konzepz

Vous pouvez utiliser la fonction WordPress wp_redirect(). Si vous voulez une redirection après la connexion ou la déconnexion, vérifiez le plugin Adminimize, il a une option pour cela.

Deux exemples de redirection dans un plugin personnalisé ou functions.php du thème (l'exemple suivant utilise la variable $pagenow):

function fb_redirect_1() {
    global $pagenow;

    if ( 'plugins.php' === $pagenow ) {
        if ( function_exists('admin_url') ) {
            wp_redirect( admin_url('edit-comments.php') );
        } else {
            wp_redirect( get_option('siteurl') . '/wp-admin/' . 'edit-comments.php' );
        }
    }
}
if ( is_admin() )
    add_action( 'admin_menu', 'fb_redirect_1' );

Une alternative avec $_server, vérifie également l'URL:

function fb_redirect_2() {

    if ( preg_match('#wp-admin/?(index.php)?$#', $_SERVER['REQUEST_URI']) ) {
        if ( function_exists('admin_url') ) {
            wp_redirect( admin_url('edit-comments.php') );
        } else {
            wp_redirect( get_option('siteurl') . '/wp-admin/' . 'edit-comments.php' );
        }
    }
}
if ( is_admin() )
    add_action( 'admin_menu', 'fb_redirect_2' );
8
bueltge