WordPress wp-adminへアクセスできない問題(ログインは出来る)

phpMyadminでWordpressのSQLデータベースをつついていたら問題発生
管理画面にアクセスできなくなっていた

WordPressログイン自体は可能
・ログインすると、ウェブサイトが表示される
管理画面に行くor 編集しようとすると「アクセス権がありません」
アクセス権がないからトップのツールバーは「+新規」も出てこない

MySQLをつついた理由はこちら

WordPressのデータベースにある残骸|sitemapが表示されない問題

だいたいのことはやってみた

私の場合、SQLのデータベースで何か消しちゃったんだろうなという心当たりがあったので
(強気の理由はWordpress入れ換える前提でバックアップを取っていたから)

ネット上にある助言を全部やったわけではないですが

プラグインのオフにしてみる(フォルダのリネーム)
管理人を増やしてみる
など流行ってみた

が変わらず
403でもないし、変わる気もしなかったんですが
とにかく何か消してしまったんだろうなと
だから、もう入れ換えようかなと思った矢先

wp-optionsのwp_user_rolesが消えていた

全く同じ症状の人を発見!
ログインは出来るけどウェブサイトが表示される

なんと!
wp-options のテーブル
「wp_user_roles」がない!
テーブル自体がないゆえ、ここにadministration(権限)の値がない
自分で消しちゃったんでしょうね。恐ろしいw
消すのが気持ちいいとか言うてるから。
こういうことになりそうな予感はしてた

こちらです
WordPress[このページにアクセスする権限がありません。]管理画面に遷移できず、TOP画面になってしまう場合の対処法|WIZARD
凄くヒントになったのが

違う対処法を試行錯誤中にエラーが出た時に
SQLの94の値がおかしい的なエラーメッセージが出ていたんです
数が合わないとかなんとか
(ちょっとあきらめていたのでだらっと見てて詳細は覚えていない)

94というのは覚えていて、
先のリンク先にある「※wp_user_rolesは、94行目の値です。」という一文で救われた
神の助けが入ったわ

欠けていたwp_user_rolesを追加

ということで、wp_user_rolesを作ればいいんかな?と安易に考えていたんですがw

functions.phpにコードを書き込むだけで自動で作ってくれて、
簡易画面へのアクセス、編集も今まで同利できるようになりました

増やすためのコードだから終わったら消してもいいですよね?!
消してみたけど大丈夫でした。
デフォルトの役割と機能をリセットする|QA Stack
このページの
「この1つのタスクを実行するだけのプラグインをインストールしたくない場合は、WordPress関数を直接呼び出して、ロールとその機能を再構築できます。」
というところにあるコードをコピペしただけで治りました

プラグインは考え物やね

wordpressする時結構リビジョンを確認するので、WP Optimizeなどを使ってリビジョンを消したり
データベースをきれいにしていたつもりでしたが、
WP Optimizeは言うほどきれいになっていない
このブログはワードプレスを入れ替えてデータベースをせっかくきれいにしたので
リビジョンをfunctions.phpで3つまでに制御するコードを入れたので、消さなくてよくなったから
WP Optimizeも入れない実験中

コメントする