• Bonjour,

    La fonction pour désactiver la maintenance en fonction du r?le du visiteur ne fonctionne pas chez moi, car mes comptes ont plusieurs r?les (un r?le de WordPress standard et un r?le spécifique au plugin bbpress).

    Du coup, dans la fonction wpm_check_active() de classes/wp-maintenance.php, l’égalité if( $limitrole == $user_role ) ligne 629 n’est jamais vérifiée puisque juste au-dessus on a $user_role = implode(', ', $user_info->roles);

    Dans mon cas, cela donne if( editor == editor, bbp_participant ) ce qui donc n’est jamais égal.

    En supprimant le implode et en rempla?ant :

    if( is_user_logged_in() ) {
                        $user_id = get_current_user_id(); 
                        $user_info = get_userdata($user_id);
                        $user_role = implode(', ', $user_info->roles);
                        if( $limitrole == $user_role ) {
                            $statusActive = 0;
                        }
                    }

    par

    if( is_user_logged_in() ) {
                        $user_id = get_current_user_id(); 
                        $user_info = get_userdata($user_id);
                        if( in_array($limitrole, $user_info->roles) ) {
                            $statusActive = 0;
                        }
                    }

    Cela fonctionne normalement.

  • The topic ‘Dysfonctionnement r?les autorisés’ is closed to new replies.