[Résolu] Problème de redirection si membre connecté (Créer un compte)

  • Statut : non résolu
7 sujets de 1 à 7 (sur un total de 7)
  • Auteur
    Messages
  • #543089
    ouistiti.net
    Participant
    Maître WordPress
    1879 contributions

    Bonjour,

    Ma configuration WP actuelle[/b
    – Version de WordPress : ]La dernière
    – Version de PHP/MySQL :
    – Thème utilisé : Refinery
    – Extensions en place : s2members et clean up
    – Nom de l’hebergeur :
    – Adresse du site : test en local -> Mamp

    Problème(s) rencontré(s) :

    Je désire refaire une redirection des membres connectés vers une page profil

    Dans le fichier functions.php

    //wp-login, redirige le user vers une autre page  
    add_action(‘send_headers’,’site_router’);
    
    function site_router(){
    $root = str_replace(‘index.php’,”,$_SERVER[‘SCRIPT_NAME’]);
    $url =  str_replace($root,”,$_SERVER[‘REQUEST_URI’]);
    $url = explode(‘/’,$url);
    
    if (count($url) == 1 && $url[0] == ‘login’){
    require’template-login.php’;
    die();
    	}
    	if (count($url) == 1 && $url[0] == ‘profil’){
    require’template-membre.php’;
    die();
    	}
    	if (count($url) == 1 && $url[0] == ‘logout’){
    wp_logout();
    header(‘location:’.$root);
    die();
    	}
    
    }

    C’est le troisième if qui me pose un problème if (count($url) == 1 && $url[0] == ‘profil’){
    require’template-membre.php’;

    Si je tape http://localhost:8888/profil et que le membre n’est pas connecté, il me renvoie bien à l’url http://localhost:8888/login
    Par contre si il est déjà connecté, il ne me revoie pas à la bonne url qui est http://localhost:8888/profil, mais plutôt http://localhost:8888/login/profil, ce qui m’amène à une page 404.

    Si je me connecte avec mot de passe et identifiant et ensuite je tape manuellement la bonne url = http://localhost:8888/login/profil -> tout fonctionne à merveille …

    Le plugin s2members n’est pas en cause, car si je le supprime le problème reste identique.

    J’ai testé ainsi

    1. if (count($url) == 1 && $url[0] == ‘/profil’){ require’template-membre.php’;
    2. if (count($url) == 1 && $url[0] == ‘login/profil’){ require’template-membre.php’;

    Ben non ça ne marche pas :(… Tout en sachant que c’est juste une histoire de chemin, mais lequel et comment??

    Je viens solliciter un peu d’aide.

    Merci

    #977537
    didier07
    Participant
    Maître WordPress
    1965 contributions

    Salut

    Je sais ou tu as pris ton tuto :rolleyes:
    Pourquoi tu fais pas un wp_redirect sur la même page par exemple ?

    1. if (count($url) == 1 && $url[0] == ‘/profil’){ require’template-membre.php’;
    2. if (count($url) == 1 && $url[0] == ‘login/profil’){ require’template-membre.php’;
    Ca ne peut pas marcher car ton explode va faire que les / disparaissent.

    J’ai un “plugin” pour faire ca. J’ai arrêté d’intercepter le routage et je fais des templates de pages avec le traitement des conditions dedans.

    #977538
    ouistiti.net
    Participant
    Maître WordPress
    1879 contributions

    Ahaaa! si si, je veux bien le mettre, mais tu en as pour 41:49 de vidéo et je l’ai déjà posté dans un autre message.

    http://www.youtube.com/watch?v=FjTNLGg7tsU

    J’ai trouvé la solution dans template-login.php

    get_error_message();
    }else{
    header(‘location: /profil’);
    }
    }else{
    $user = wp_get_current_user();
    if($user->ID!=0){
    header(‘location: /profil’);
    }
    }
    ?>

    J’ai modifié header(‘location: profil’); par header(‘location: /profil’);

    J’ai plus besoin du plugin s2members 😗 Flûte!! J’ai perdu tout mon dimanche à faire la trad et pour finir prendre celle de Li-Lan

    Pour ton plugin, c’est trop tard… si vraiment, j’ai un gros bug, c’est prochain jour, pourquoi pas…
    Mais en général mon site perso est mon bac à sable :D

    Désolée pour dérangement,

    Un grand Merci!!

    #977539
    ouistiti.net
    Participant
    Maître WordPress
    1879 contributions

    Edit: Désolée pour le dérangement,

    #977540
    ouistiti.net
    Participant
    Maître WordPress
    1879 contributions

    RoooOO!! C’est dans le template-membre que j’ai fait les modifs et j’ai tout de même besoin du plugin s2member

    Bon, bon c’est –>

    #977541
    didier07
    Participant
    Maître WordPress
    1965 contributions
    ouistiti.net wrote:
    Ahaaa! si si, je veux bien le mettre, mais tu en as pour 41:49 de vidéo et je l’ai déjà posté dans un autre message.

    http://www.youtube.com/watch?v=FjTNLGg7tsU

    J’avais deviné, j’ai commencé par ça aussi 🙂

    #977542
    ouistiti.net
    Participant
    Maître WordPress
    1879 contributions

    Ah ! Je vois qu’on a les mêmes références 😉

    Et ça fonctionne à merveille avec le plugin s2membre, si je mets :

    login/registration Design -> no (default, use WordPress defaults)

    C’est tip-top, je suis contente … Encore merci à Li-An et à toi.

7 sujets de 1 à 7 (sur un total de 7)
  • Vous devez être connecté pour répondre à ce sujet.