MySQLデータベースからWordPressテーマ変更・プラグイン停止を行う方法【エラー・管理画面に入れないときに】
| 更新: 2024/02/12 | 2060文字
今回のお題は、WordPressエラー復旧などに使えるかもしれない『MySQLデータベースからWordPressテーマ変更・プラグイン停止を行う』です。 管理画面に入れないときに操作ができるのは、緊急時におおきなメリットとなります。さっそくやり方を確認していきましょう。
目次
MySQLデータベースからテーマ・プラグイン操作の必要性が出るケースは?
今回使うテクについてですが、WordPressでは『コア部分バージョン更新・PHPバージョン変え』などのとき、古いプラグイン・テーマを使っていると、『対応していないので、エラーでサイトが動かなくなる』ということがあります。(中には事前に警告してくれるものもありますが)
その場合『管理画面にも入れない』という状況になることは、ざらにあります。該当のテーマやプラグインを無効にすれば戻ったり、原因調査がしやすくなるので、『管理画面に入れなくても、データベースから直せる』と、解決に向けて取れる手段が増えます。
この場合は、WordPressのデータベース構造も押さえておくとよいでしょう(wp_optionsテーブルを操作します)。 (*そのほか、wpアドレス/サイトアドレスをデータベースから直す方法についても書いているので、過去記事も参考になさってください。)
■データベース構造 (codex)
https://wpdocs.osdn.jp/データベース構造
■(過去記事)ディレクトリやWordPress アドレス変更でログインできない場合は、データベースからログインできるアドレスに直す
archives/7110/change-wordpress-url-on-a-database/
データベースからプラグイン無効化してみる(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から操作できる
まとめるとこんなところでした。テーマ・プラグイン関係でエラー・ログインできないなどの場合は、無効にして動作確認できると良いです。逆に、これらを行ってもエラーが出る場合は、コアファイルがうまく上がっていないとか、他のところに原因があるという予測も立てやすくなります。サイト引っ越しやバージョンアップなどでエラーの脅威が高まるので、対策の一つとして押さえていただければと思います。
【カテゴリ】- サイトエラー対策と復旧
【タグ】- WordPress, データベース