【解決事例】WordPressの管理画面でいくつかのメニューが表示されない

管理者でログインしているのにも関わらず、管理画面で、ユーザーや、外観のウィジェット、外観のカスタムなどが表示されない問題の解決を依頼されました。

メニューが表示されないので、ブラウザーに直接、それらのページのURLを入力してみると、

このページにアクセスする権限がありません。

と表示されてしまいます。

また、よく見ると、管理者でログインしているにもかかわらず、

WordPress 4.9.5 が利用可能です。サイト管理者にお知らせください。

との表記もあります。

原因

WP_OPTIONSテーブル内に管理者がどんなことをできるか定義してある箇所(wp_user_roles)があるのですが、そこが壊れていたのが原因でした。

通常、”update_core”や”list_users”など定義されているのですが、それがすっかり消えていました。

復旧方法

正常に動作している他のWordPressから該当部分をコピーして、それを問題のあった箇所に貼り付けました。

ただ貼り付けるだけだと、うまくいかないため、”capabilities”;a:106:の106の部分を追加したcapabilitiesの数だけ、増やす必要があるので注意が必要です。