WordPressで「このテーマは壊れています」とエラーが表示されたときの対処方法
WordPressのテーマをカスタマイズしているときに、突然レイアウトが崩れて「このテーマは壊れています」と恐ろしい表示がされたことはありませんか?というのも、先日とあるWordPressテーマのカスタマイズ中に壊してしまいまして…とても驚いてあたふたしたので、その時に行った対処法をご紹介します。
WordPressのテーマが壊れた場合の対処法
テーマが壊れる要因は複雑なものから些細なものまで様々ですが、大方はケアレスミスで起こるものが多いようです。ちなみに、今回のトラブルは「必要なファイルが必要な場所から移動されていた」という初歩的なミスでした。
必要なファイルの不足
このテーマは壊れています。テンプレートが不足しています。独立したテーマにはindex.phpテンプレートファイルが必要です。子テーマではstyle.cssスタイルシートにテンプレートヘッダーが必要です。
上記のような警告文が出た場合、文章通りindex.phpとstyle.cssが、使用しているテーマフォルダのディレクトリ配下にあるかを確認してみましょう。WordPressでは、決まった位置にこのファイルが無いとエラー判定をされてしまうようです。「複数のCSSをまとめるため、新規ディレクトリを作成したときにstyle.cssを別のディレクトリに移動させてしまった。」などの場合が多そうですね。
get_stylesheet_uri()でstyle.cssを出力
1 |
<link rel="stylesheet" href="<?php echo get_stylesheet_uri(); ?>"> |
WordPressでは上記のようにget_stylesheet_uri()の関数で、現在のテーマで使用されているstyle.cssの出力を行います。この出力結果を見てみると下記のようになります。
1 |
<link rel="stylesheet" href="https://サイトドメイン/wp-content/themes/wordpressテーマ名/style.css"> |
出力結果にある「wordpressテーマ名」のディレクトリはつまりブログテーマ名なので、style.cssはテーマフォルダのディレクトリ直下に存在しないといけないということですね。
style.cssの記述内容も確認してみよう
使用しているテーマによって記述内容は様々ですが、style.cssには/*〜*/の記述が必ずあるはずです。
1 2 3 4 5 6 7 8 9 10 |
/* Theme Name: テーマ名(必須項目) Theme URl: テーマのURL Author: テーマの作成者 Description: テーマの説明 tags: テーマのタグ License: テーマのライセンス License URl: テーマのライセンスURL Version: バージョン */ |
この部分はコメントアウトされていますが、/*〜*/の記述は必須で、この部分を誤まって消去してしまうとエラーが出るので要注意です。なお、記述する内容に関しては必要に応じて省略することが可能です。ただし、Theme Nameは必須となります。
今回はケアレスミスが原因でしたが、突然レイアウトが崩れたりするとドキドキしますね…。「このテーマは壊れています」のエラーが出た際には、同じような事象を起していないか確認してみてください。