管理者でログインしているのにも関わらず、管理画面で、ユーザーや、外観のウィジェット、外観のカスタムなどが表示されない問題の解決を依頼されました。
メニューが表示されないので、ブラウザーに直接、それらのページのURLを入力してみると、
このページにアクセスする権限がありません。
と表示されてしまいます。
また、よく見ると、管理者でログインしているにもかかわらず、
WordPress 4.9.5 が利用可能です。サイト管理者にお知らせください。
との表記もあります。
原因
WP_OPTIONSテーブル内に管理者がどんなことをできるか定義してある箇所(wp_user_roles)があるのですが、そこが壊れていたのが原因でした。
通常、”update_core”や”list_users”など定義されているのですが、それがすっかり消えていました。
復旧方法
正常に動作している他のWordPressから該当部分をコピーして、それを問題のあった箇所に貼り付けました。
ただ貼り付けるだけだと、うまくいかないため、”capabilities”;a:106:の106の部分を追加したcapabilitiesの数だけ、増やす必要があるので注意が必要です。