Heim  >  Fragen und Antworten  >  Hauptteil

Fehler in class-wp-roles.php – „array_keys() erwartet, dass Argument 1 ein Array ist“

<p>Vor ein paar Tagen habe ich festgestellt, dass ich in WordPress nicht mehr auf das Admin-Dashboard zugreifen konnte. Ich würde mich mit meinem normalen Admin-Benutzernamen/Passwort anmelden, aber dann würde ich zur Homepage der Website und nicht zum WordPress-Dashboard weitergeleitet. Und in der Admin-Leiste oben auf der Seite werden nicht die üblichen Optionen zum Aufrufen des Dashboards, Bearbeiten von Seiten usw. angezeigt. Wenn ich dann versuche, zu wp-admin zu wechseln, erhalte ich die Fehlermeldung „Leider ist Ihnen der Zugriff auf diese Seite nicht gestattet.“</p> <p>Wenn ich wp_debug aktiviere, wird die folgende Fehlermeldung angezeigt: </p> <blockquote> <p>Warnung: array_keys() erwartet, dass Argument 1 ein Array ist, die in /var/www/wp-includes/class-wp-roles.php Zeile 291 angegebene Zeichenfolge</p> <p>Warnung: Ungültiges Argument für foreach() in /var/www/wp-includes/class-wp-roles.php in Zeile 291</p> <p>Warnung: array_keys() erwartet, dass Argument 1 ein Array ist, die in /var/www/wp-includes/class-wp-roles.php Zeile 291 angegebene Zeichenfolge</p> <p>Warnung: Ungültiges Argument für foreach() in /var/www/wp-includes/class-wp-roles.php in Zeile 291</p> </blockquote> <p>Dieser Fehler erscheint auch dann, wenn ich alle Plugins deaktiviere, und zwar unabhängig davon, welches Theme gerade aktiv ist. Ich konnte bei meinen Suchanfragen nicht viele Informationen zu diesem Fehler finden und mehrere Threads zu „class-wp-roles“ beziehen sich speziell auf bestimmte Plugins, die ich nicht verwende. </p> <p>Ich habe die normalen ersten Überprüfungen durchgeführt, wie das Ausschalten aller Plugins, das Überprüfen von wp-config.php, das Überprüfen von Dateiberechtigungen, das Überprüfen von Kontorollen/-berechtigungen in phpmyadmin und sogar das Erstellen eines neuen Admin-Benutzers mit phpmyadmin. Ich habe die Site auch im abgesicherten Modus geladen, der alle Plugins deaktiviert und standardmäßig das Twenty Twenty-Theme in WordPress verwendet. Ich kann immer noch nicht auf das WordPress-Dashboard zugreifen. wp-admin.php. </p> <p>Einige zusätzliche Informationen: Meine Website verwendet das Storefront-Theme und WooCommerce, aber da dieser Fehler auch dann auftritt, wenn beide Themes nicht aktiviert sind, sollte es doch keine Rolle spielen, oder? Meine Website wird auf GoDaddy gehostet und als dieser Fehler zum ersten Mal auftrat, verwendete die Website WordPress 6.0.3, wurde aber gestern automatisch auf 6.1.1 aktualisiert und ich habe immer noch das gleiche Problem. (Ich hoffe wirklich, dass das Upgrade dieses Problem behebt.) Alles andere auf der Website scheint gut zu funktionieren. Ich kann einfach nicht auf das Admin-Dashboard zugreifen! Jede Hilfe hierzu wäre sehr dankbar. </p>
P粉253518620P粉253518620387 Tage vor443

Antworte allen(1)Ich werde antworten

  • P粉818317410

    P粉8183174102023-08-31 00:28:33

    哇,太快了。我今天创建了一个 Stack Overflow 帐户,就是为了发布这个问题,经过几天的头撞桌子试图弄清楚这个问题,我在几个小时内得到了解决方案。

    对于遇到类似问题的人,一定要先进行定期检查以排除这些问题,然后转到您网站的 phpmyadmin,然后转到 wp_options > 表。查找 wp_user_roles 条目。确保它有这样的内容:

    我的 wp_user_roles 实际上只是将其设置为值:

    事实证明这是错误的值!我不知道这是怎么发生的。在这个问题之前,我根本没有在 phpmyadmin 中乱搞。应该是插件什么的。当我用正确的角色和功能列表替换该 AOK 时,我立即能够再次访问 WordPress 管理仪表板。

    如果您使用的是 WooCommerce,则需要执行一个额外步骤:您需要停用并重新激活 WooCommerce 插件。这是因为上面的角色列表缺少一个特定于 WooCommerce 的角色,称为“商店经理”,您可以通过该角色访问 WooCommerce 的产品、订单、分析、优惠券等页面。

    就是这样!非常感谢 @VijayHardaha 帮助解决这个问题!我希望有一天这个帖子可以帮助其他人。

    Antwort
    0
  • StornierenAntwort