Bug WordPress 5.0.x et capacités administrateur
Je reçois plusieurs fois la même demande de réparation depuis plusieurs jours concernant un message d’erreur qui indique un titre « WordPress » Erreur » ainsi qu’un message « Désolé, vous n’avez pas l’autorisation d’accéder à cette page. » lors de la connexion au back-office WordPress.
Lors de mon analyse, à chaque fois j’ai constaté que les capacités administrateur avaient disparues, ou avaient été réduites au point de ne plus avoir les privilèges suffisants pour accéder au back-office.
J’ai développé un mini plugin qui corrige ce problème mais comme l’accès au back-office n’est pas possible, difficile de l’activer directement, il faut donc procéder autrement et passer par la modification du fichier functions.php du thème activé et y rajouter le code suivant sur une nouvelle ligne en fin de fichier :
add_action( 'init', 'admin_fix' );
function admin_fix() {
if ( !function_exists( 'populate_roles' ) ) {
require_once( ABSPATH . 'wp-admin/includes/schema.php' );
}
populate_roles();
}
Une fois ce code ajouté dans le fichier, et le fichier uploadé, il suffit d’une exécution comme une simple tentative de connexion au back-office par exemple, elle sera refusée mais le code sera exécuté et l’accès sera rétabli à la 2ème tentative.
Le code peut ensuite être retiré du fichier functions.php, ou laissé par mesure de précaution afin de ne pas risquer de perdre l’accès de nouveau.
Bonjour
Je rencontre actuellement le même problème. Je n’arrive pas à accéder mon admin. J’ai le message « Désolé, vous n’avez pas l’autorisation d’accéder à cette page. » Via des recherches sur Google, je suis tombé fortuitement sur votre site. Seulement, je me rends compte que vous n’avez pas rendu le plugin public. Est ce un service payant ? Combien coûte t-il ?
Vous n’avez qu’a rajouter le code si dessus dans le fichiers functions.php tel que décris. Rien de plus.
Bonjour,
Pouvez-vous me dire ou trouver le plugin je ne le trouve pas sur la page?
Merci beaucoup pour votre article, qui m’a permis de débloqué la situation.
Continuez ! Super boulot !
Merci pour l’article, qui a sauvé mon blog ! La solution proposée a parfaitement fonctionné :)
ÉNORME merci et surtout bravo pour cette solution qui a été le seule à fonctionner parmi les dizaines essayées !
Je pense qu’à l’heure actuelle vous êtes le seul sur le web à la proposer et je me félicite d’avoir eu la patience de passer les 1ères pages de Google pour enfin trouver ce billet.
Super top
Un très grand merci pour cette solution qui m’a permis de pouvoir me connecter à nouveau sur l’administration du site. Bravo !!!
1000 fois bravo !
J’ai cherché partout, dans tous les sens et impossible de trouver un semblant de solutions. J’étais seul au monde, jusqu’à vous !
Un grand grand merci :)
Bravo et merci infiniment ! Après avoir cherché du côté des plugins, du thème, des capacités, etc. Je me tirais les cheveux. Il m’en reste. Mais que d’agacements… et de pression. C’est réglé. Grâce à votre précieux partage.
Seul hic, et pas des moindres, WooCommerce est depuis invisible, alors que je suis administrateur. Et même malgré la réattributions de « capabilites » aux administrateurs grâce à l’extension Capability Manager Enhanced ( → http://wordpress.org/plugins/capability-manager-enhanced/ ), qui me permet de voir et gérer commandes et produits, il m’est encore impossible d’accéder aux réglages de WooCommerce. Avez-vous une idée de comment régler cette affaire ?
Et avez-vous une idée de l’origine du problème que nous rencontrons ? Un thème commun ?
Ravi d’avoir pu vous aider ! Je vous invite à me contacter par mail sur l’adresse contact@eralion.com ou via le formulaire de mon site afin de pouvoir échanger plus complètement sur le problème supplémentaire que vous rencontrez.
Bonjour,
Moi aussi j’ai le même problème avec WooCommerce.
Est-ce-que vous avez trouvé une solution?
Cordialement,
Bonjour,
Avez-vous trouvé la solution ?
Cordialement
Bonjour,
Je ne met que très rarement des commentaires sur les sites, mais je ne vois pas comment ne pas faire l’effort de le faire pour quelqu’un qui m’a sauvé mon week end :)
Depuis 11h ce matin, j’ai le fameux problème » Désolé, vous n’avez pas l’autorisation d’accéder à cette page » dès que je me connecte à mon admin…
Vos explications et le petit bout de code m’a redonné accès à mon administration en 30 secondes.
Un grand merci à vous, vraiment….
Pareil que Jérémy, MERCI à Eralion d’avoir sauvé mon WE ! Trop fort :)
La dernière fois, pour un pb identique, j’avais uploadé une version précédente de ma BDD, cela avait remarché. Avec, au passage, la perte d’articles à la publication prévue.
Un tel bug vient-il de WP ou de la mise à jour du thème ?
Merci ! Mon sauveur.
Un week-end dans la sérénité ??
Bonjour,
Merci pour votre aide :)
Après avoir tout vérifié (plugins, thème, capacités, rôles, prefixe de bdd, …) votre « admin_fix » a réglé le pb.
Par contre, on ne sait pas comment ce pb est survenu ?
Encore merci, vous avez sauvé ma journée :)
Ravi d’avoir pu vous aider, je n’ai par contre pas réussi à en identifier l’origine encore, je n’ai plus eu de cas à analyser depuis.
Bonjour,
Ça me refait la même erreur « You do not have sufficient permissions to access this page. » mais avec les profils Editeurs (c’est ok en admin). Malgré le fix tjrs en place dans functions.php.
Vous auriez une idée ?
D’avance merci.
Avez-vous tenté de vous connecter en admin, puis d’installer un plugin tel que User Role Editor ( https://fr.wordpress.org/plugins/user-role-editor/ ) pour voir si vous pouviez réparer les autorisations des autres rôles depuis l’admin ?
Oui, merci pour votre réponse :)
C’est effectivement ce que j’ai fait avec « Advanced Access Manager », et à défaut d’avoir réussi à « réparer », j’ai dupliqué le profil, et le nouveau fonctionne.
Encore merci.
Bonjour,
Je viens d’essayer. Mais je pense que le code ajouté en fin de page functions.php n’est pas mis au bon endroit. Si une personne peut me dire (Merci) :
return openssl_decrypt($crypted_string, $this->method, $this->key, 0, hex2bin($iv));
}
}
return FALSE; // failed to decrypt
}
}
add_action( ‘init’, ‘admin_fix’ );
function admin_fix() {
if ( !function_exists( ‘populate_roles’ ) ) {
require_once( ABSPATH . ‘wp-admin/includes/schema.php’ );
}
populate_roles();
}
?>
Si le correctif ne règle pas le problème, c’est alors qu’il y a peut être une autre source de conflit qui interfère sur les droits d’accès. N’hésitez pas à me contacter via le formulaire de contact ou sur mon mail contact@eralion.com si vous n’arrivez pas à trouver une solution.
C’est bon cela a fonctionné ! Merci :)
Merci !!!!!!!! Ca fait une semaine que je cherche une solution et là, miracle !!!! Merci beaucoup, vraiment, je suis super contente !
Bonjour,
je suis bloqué depuis quelques jours. J’aimerais essayer votre code, mais je voudrais vérifier avant qu’il ne change quelque chose qu’à l’administrateur du site et pas aux autres utilisateurs. J’ai 180 utilisateurs, je ne voudrais pas qu’ils se retrouvent tous administrateurs…
Cordialement
Jérôme
MERCI MILLE FOIS <3
Certains attendent le sauveur depuis 200 ans.. sans savoir qu’il est déjà parmi nous. Cela fait 4 jours que je cherche la solution a ce problème , déjà fais 5000000 restaurations.. et voila qu’un simple petit code créer généreusement par un génie a résolu en 3 secondes mon problème et m’éviter une consultation chez le psy. En tout cas merci beaucoup pour cette solution. et bien-sur dorénavant ce site fait partie de mes favoris..On sent qu’il y a de la compétence et de la générosité. A bientôt
Alors là je dis BRAVO ! Quelque jours qu’un de mes sites wordpress présente les symptômes présentés dans cette page : « Désolé, vous n’avez pas l’autorisation d’accéder à cette page. ». J’ai recréé un admin en base de données via phpmyadmin, essayé de redémarrer sans thème ni extensions, toujours le même problème avec un site protégé et bien à jour. Et là, j’insère ce bout de code en fin de fichier functions.php, et bim, comme par magie, je récupère l’accès au site. Alors un immense merci bien mérité Benjamin !
Un gros merci! Ce code m’a permis de recuperer l’accès au site! wow bravo.
Bonjour,
Juste pour vérif, ce problème peut-il survenir après la modification des url dans les réglages wordpress en https ? Et, votre code peut-il gérer ce genre de cas ?
Bonjour Benjamin,
Superbe cette info, j’avais un site bloqué efficacité comme d’hab et en libre service : bravo. Est-il possible que l’on reprenne contact ?Tu dois avoir encore mon adresse mail, sinon mon site et form indiqué sur cette connexion. Par avance merci
Thierry
TOP cette astuce. Aussi installée, aussi retrouvée mon admin. J’ai fait une mise à jour de WordPress. Déconnection de l’admin. Supprimé ton code (car je ne sais pas à quel point il peut rendre vulnérable le site). Et tout roule comme en 40 !
Merci bien. Tu as sauvé ma journée, ma semaine, mon we…. :o)
Un an après cette discussion, voici que le problème survient sur un des sites que je gère, donc cette fois en WP version 5.5. En gros l’administrateur a perdu tous ses droits sur le site, à part celui de voir la barre de gestion en haut de l’écran en version dégradée…
J’ai aussi tout essayé avant de tomber sur ce post salutaire.
La solution des lignes de code dans le fichier function.php a marché direct, bravissimo et grande reconnaissance !!!
Est-ce que depuis le temps vous avez trouvé ce qui pouvait occasionner ce problème ?
Conseillez-vous de laisser ce code à demeure (dans le fichier de mon thème enfant, donc à l’abri des mises à jour) ou est-ce que ça comporte des risques de sécurité ?
Merci !!
Top merci !