icon
Let's create! WordPressサイト制作とメンテ/エラー対応から、PHP/CSS/javascriptプログラミング、動画・音・イラスト等制作まで扱うコラム

MySQLデータベースからWordPressテーマ変更・プラグイン停止を行う方法【エラー・管理画面に入れないときに】

更新: 2024/02/12 2060文字

MySQLデータベースからWordPressテーマ変更・プラグイン停止を行う方法【エラー・管理画面に入れないときに】

今回のお題は、WordPressエラー復旧などに使えるかもしれない『MySQLデータベースからWordPressテーマ変更・プラグイン停止を行う』です。 管理画面に入れないときに操作ができるのは、緊急時におおきなメリットとなります。さっそくやり方を確認していきましょう。

MySQLデータベースからテーマ・プラグイン操作の必要性が出るケースは?

今回使うテクについてですが、WordPressでは『コア部分バージョン更新・PHPバージョン変え』などのとき、古いプラグイン・テーマを使っていると、『対応していないので、エラーでサイトが動かなくなる』ということがあります。(中には事前に警告してくれるものもありますが)

その場合『管理画面にも入れない』という状況になることは、ざらにあります。該当のテーマやプラグインを無効にすれば戻ったり、原因調査がしやすくなるので、『管理画面に入れなくても、データベースから直せる』と、解決に向けて取れる手段が増えます。

この場合は、WordPressのデータベース構造も押さえておくとよいでしょう(wp_optionsテーブルを操作します)。 (*そのほか、wpアドレス/サイトアドレスをデータベースから直す方法についても書いているので、過去記事も参考になさってください。)

データベースからプラグイン無効化してみる(wp_optionsテーブル・active_pluginsの値を操作)

まずはプラグインを無効化してみます。管理人のぶろぐ・最初の状態です。アクティブなプラグインは『All In One SEO・Classic Editor・Contact Form 7』の3つです。

データベースに入ってみましょう。有効になっているプラグイン情報は『wp(接頭辞による)_optionsテーブル』の『option_name:active_plugins』の部分に入っています。シリアライズ配列の形式で、『最初のaは、配列arrayのa・a:3は要素数3』『i:0は0番目で数値型(integer)。s:43は文字列型(string)で43バイト』という意味です。

これらのプラグインをデータベースから全無効にするには、option_valueに『a:0:{}』を入力します

管理画面から操作しなくても、すべてのプラグインが無効になりました。『エラーで管理画面入れないけど、原因に特定のプラグインが想定される』などの場合は使えそうです。

データベースからテーマを変えてみる(wp_optionsテーブル・ template & stylesheet)

『テーマが原因でエラー・公式に戻して動作確認したい』みたいなときに使えるのが、データベースからテーマ変更。optionsテーブル内『option_name:template & stylesheet』に、テーマ情報が入っていますね。

勿論インストールされていなければ対応できないんですけど、『Twenty Seventeenに戻したい』というときは、option_valueにテーマ名を

単純に『Twenty Seventeen』と書くのではなく、『フォルダ名(twentySeventeen)』で書くと、正しく動作します。

あとがき・まとめ

  • テーマ・プラグイン由来のエラーで管理画面に入れないとき、データベースからプラグイン無効・テーマ変更できると便利
  • プラグイン無効化はoptionsテーブル内の『option_name:active_plugins』で、option_valueに『a:0:{}』を入れる
  • テーマも、option_name:template & stylesheetから操作できる

まとめるとこんなところでした。テーマ・プラグイン関係でエラー・ログインできないなどの場合は、無効にして動作確認できると良いです。逆に、これらを行ってもエラーが出る場合は、コアファイルがうまく上がっていないとか、他のところに原因があるという予測も立てやすくなります。サイト引っ越しやバージョンアップなどでエラーの脅威が高まるので、対策の一つとして押さえていただければと思います。


【カテゴリ】- サイトエラー対策と復旧
【タグ】- ,

関連記事