WordPress5.5にアップデートされた影響で、連日のようにプラグインやテーマのアップデートが来ます。
はいはい、と思って更新ボタンを押すわけですが、ある時、テーマを更新したらテーマファイルがエラーになってWordpressが表示できなくなりました。
この記事では、テーマアップデートでエラーが出てWordpressが表示できなくなったときの復旧方法についてまとめておきます。
テーマファイルを手動でアップロードしたテーマで上書きしてみる
まず、自動アップデートなので最新のテーマファイルが手元にありません。
手元にあった古いテーマファイルのzipファイルをアップロードして、サーバー上で解凍して上書きしました。
- なんと、大幅にデザインが崩れました。
- さらに、追加CSSが消えました。
- ウィジェットなども一部初期化されました。
- メニューが外れています。
ひとまず、テーマをバージョンアップ
恐る恐るテーマをWordpress上で再度アップデートをかけたら普通にアップデートが完了しました。
その結果、見た目は元に戻りました。しかし、追加CSSなどは戻りません。
追加CSSを復旧させる方法
追加CSSが消えるのは想定外だったので正直焦りました。テーマディレクトリ名やテーマ名が変わっていないに、なぜか消えてしまいました。
子テーマのstyle.cssを使っていればこんなことにはならないのですが、最近の流れで追加CSSを使っていたことを悔やみました。
追加CSSはDB内部に保存されているのは知っていたのですが、どこに保存されているのかわかりませんでした。
そんな時に、以下のサイトを見つけました。
phpMyAdminを開いて、以下のSQLを実行します。
SELECT * FROM wp_posts WHERE post_type = 'custom_css';
そうすると、追加CSSのテキストがそのまま格納されているデータが出てきます。
そのセルからテキストをコピーして、追加CSSにペーストすれば復旧完了です。
ウィジェットを復旧
ウィジェットは自分で追加したものはそのまま残っていました。しかし、初期状態でサイドバーに追加されているいらないウィジェットが復活してしまっていました。
それらのウィジェットを削除さいて、復旧完了です。
メニューを復旧
見た目は完全に戻ったように見えましたが、よくよく見ると、グローバルメニューとかが無い!
外観⇒メニューと進むと、メニューの定義は残っていましたが、メニューを表示する場所の指定が外れていました。
メニューの表示場所の指定を✓することでメニューも復旧しました。
まとめ
テーマがらみのエラーが出てしまうと、カスタマイズが消えてしまうのを一番恐れます。今回、追加CSSが消えてしまったことでかなり青ざめました。やはり子テーマのstyle.cssを使える時は使った方がいいなと思いました。
ただ、DBのバックアップは無料というサーバーが殆どですので、DB側で追加CSSを管理して、復旧させる方法を知っていればそれはそれで問題ないのかもしれないと思いました。