IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WordPress PHP Discussion :

problème de login_redirect


Sujet :

WordPress PHP

  1. #1
    Membre habitué Avatar de Avatar
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juillet 2005
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 136
    Points : 150
    Points
    150
    Par défaut problème de login_redirect
    Bonjour,

    Je viens de récupérer la gestion d'un site en wordpress et j'ai un problème sur la page affichée après la connexion.

    Le site utilise un thème nommé twentysixteen-child.

    L'idée est que, après la connexion, les admins soient redirigés vers l'interface d'administration et que les autres utilisateurs soient redirigés vers une page de recherche (/var/www/html/recherche/index.php).
    Pour cela, le fichier functions.php du thème a été modifié comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
      <?php
    // logo personnalise
    function childtheme_custom_login() {
     echo '<link rel="stylesheet" type="text/css" href="' . get_bloginfo('stylesheet_directory') . '/login.css" />';
    }
     
    add_action('login_head', 'childtheme_custom_login');
     
    //add_filter("login_redirect", "gkp_subscriber_login_redirect", 10, 3);
     
    function gkp_subscriber_login_redirect($redirect_to, $request, $user) {
     
      if(is_array($user->roles))
          if(in_array('administrator', $user->roles)) return site_url('/wp-admin/');
     else {
                return home_url('/recherche/');
    	}
     
    }
     
    add_filter("login_redirect", "gkp_subscriber_login_redirect", 10, 3);
     
    ?>
    Si un admin se connexion, il tombe bien sur la page d’administration.
    Par contre si un utilisateur normal se connecte, il tombe sur la page https://mondomaine.com/connexion/recherche au lieu de https://mondomaine.com/recherche

    Merci pour votre aide

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    il y a peut-être un soucis dans les réglages de WordPress, est ce que l'adresse du site est bien mise à "https://mondomaine.com/" et non "https://mondomaine.com/connexion" ?

  3. #3
    Membre habitué Avatar de Avatar
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juillet 2005
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 136
    Points : 150
    Points
    150
    Par défaut
    Bonjour,

    en effet, l'Adresse web de WordPress (URL) est bien https://mondomaine.com mais l'Adresse web du site (URL) est https://mondomaine.com/connexion
    Par contre pas de trace de dossier connexion dans le répertoire d'installation de wordpress. et quand je me connecte sur https://mondomaine.com j'arrive bien sur une page de connexion...

    J'ai trouvé une solution si ça peut aider quelqu'un. Le fichier wp-login.php avait été modifié. J'ai restauré le site sur une version où le fichier n'avait pas été modifié.
    J'ai modifié le fichier functions.php du thème utilisé comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     <?php
    // logo personnalise
    function childtheme_custom_login() {
     echo '<link rel="stylesheet" type="text/css" href="' . get_bloginfo('stylesheet_directory') . '/login.css" />';
    }
     
    add_action('login_head', 'childtheme_custom_login');
     
    //add_filter("login_redirect", "gkp_subscriber_login_redirect", 10, 3);
     
    function gkp_subscriber_login_redirect($redirect_to, $request, $user) {
     
      if(is_array($user->roles))
          if(in_array('administrator', $user->roles)) return site_url('/wp-admin/');
     else {
                return home_url('/recherche/');
    	}
     
    }
     
    add_filter("login_redirect", "gkp_subscriber_login_redirect", 10, 3);
     
    ?>
    Et ça a l'air de fonctionner.

    merci et bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18
  2. Problème d'impression
    Par IngBen dans le forum C++Builder
    Réponses: 7
    Dernier message: 22/05/2002, 11h37
  3. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10
  4. Réponses: 6
    Dernier message: 25/03/2002, 21h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo