「壊れているテーマ」とは?

WordPress個別サポート

WordPressにインストールした子テーマや自作テーマを有効化しようと思ったのに表示されていない。そんなことはありませんか?もしかすると、「外観」-「テーマ」メニューの最下部に「壊れているテーマ」として表示されて有効化できなくなっているのかもしれません。

「テーマが壊れている」とは?
有効化できない「壊れているテーマ」

これは、テーマが不完全なため使用できない(有効化できない)状態だということです。以下、考えられる原因を紹介します。

「壊れているテーマ」と判断される原因

「壊れているテーマ」といっても、そのテーマが破壊されているのではなく、ほとんどの場合はstyle.cssの問題です。そのテーマにstyle.cssが存在しないか、style.cssの記述が間違っていることが原因です。以下に例を紹介します。

style.cssが存在しない

「壊れているテーマ」セクションの説明に「テーマにはスタイルシートとテンプレートが一つずつ必要です」とあるように、親テーマか子テーマかを問わずテーマにはstyle.cssが必要です。このファイルがないと「スタイルシートが見つかりません」と表示されます。

親テーマの指定が間違っている

子テーマのstyle.cssでは使用する親テーマを「Template」で指定する必要があります。以下は親テーマにTwenty Sixteenを使う例です。

Template: twentysixteen

ここで指定するのは親テーマのフォルダ名です。たとえば、BizVektorというテーマは「biz-vektor」というフォルダに入っているので次のようになります。

Template: biz-vektor

次のように親テーマの名前を指定するのは間違いです。

Template: BizVektor

このように指定すると「壊れているテーマ」だと判断されます。

親テーマの名前が間違っている
親テーマの名前(フォルダ名)が間違っている

子テーマで使う親テーマが指定されていない

子テーマで使う親テーマを「Template」で指定しなかった場合、それ自体が親テーマだと判断されてしまいます。有効化できますが、真っ白なデザインになるはずです。

子テーマで「Template」を指定し忘れた場合
子テーマで「Template」を指定し忘れた場合

テンプレートが存在しない

「壊れているテーマ」セクションの説明に「テーマにはスタイルシートとテンプレートが一つずつ必要です」とあるように、そのテーマにテンプレートファイル(例:index.php)が1つも存在しない場合、「テンプレートが見つかりません」と表示されます。

テンプレートが存在しない
テンプレートが存在しない
そのテーマの動作に必要なテンプレートが過不足なく含まれるかチェックしているわけではありません。あくまで「テンプレートが1つも存在しないのは不自然でしょう」の警告です。

style.cssをUTF-8以外の文字コードで保存した

「壊れたテーマ」ではありませんが、テーマ選択画面でテーマ名が文字化けして壊れているように見える場合があります。style.cssの文字コードをShift-JISなどで保存するとこのような状態になります。style.cssの文字コードはUTF-8です。

テーマ名が文字化けする
テーマ名が文字化けする

壊れているテーマの削除

「壊れているテーマ」に表示されるテーマが不要であれば、「削除」をクリックして削除することができます。ただし、修正して後で使う予定の場合は削除しないように注意してください。

壊れているテーマの削除
壊れているテーマの削除