0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【WordPress】急に子テーマ(JIN-CHILD)が消えた!原因はstyle.cssのヘッダコメントだった

Posted at

TL;DR

  • WordPressの子テーマは、style.css の冒頭にあるコメントブロックで「テーマ情報」を認識してる
  • ここが消えると、WordPressはそのフォルダをテーマとして認識しなくなる
  • 対策:style.css に必ず以下を記述する(空行なしで一番上に)
/*
 Theme Name: JIN Child
 Template: jin
*/

症状

  • 昨日まで普通に使えていたのに、管理画面から「JIN-CHILD」子テーマが消えた
  • 外観 → テーマに行っても表示されない
  • 「アイキャッチ画像」パネルも出てこなくなった

原因

結論から言うと、子テーマの style.css のヘッダコメントが消えていた

WordPressは子テーマを認識するときに、style.css の先頭にあるコメントブロックを読んでいる。
ここに Theme NameTemplate が無いと、そのフォルダはただのCSS置き場と見なされ、テーマ一覧から消える。

再現例

/* ← これが無くなるとアウト
 Theme Name: JIN Child
 Template: jin
*/

これを削除した状態で外観 → テーマを開くと、子テーマが一覧から消える。
一度有効化してても、**テーマの再スキャンが走ったタイミング(更新やキャッシュクリアなど)**で急に消えたように見える

解決方法

  1. FTPまたはファイルマネージャで wp-content/themes/jin-child/style.css を開く
  2. 冒頭に以下を追記(必ず空行ナシで先頭)
/*
 Theme Name: JIN Child
 Template: jin
*/
  1. 保存 → 管理画面をリロード
  2. 外観 → テーマに「JIN Child」が復活!

再発防止の工夫

  • style.cssはテーマ情報専用にして、実際のCSSは別ファイルに分ける

    // functions.php(子テーマ側)
    add_action('wp_enqueue_scripts', function(){
      wp_enqueue_style('jin-child-extra', get_stylesheet_directory_uri() . '/assets/css/main.css', [], null);
    });
    

    main.css に本体CSSを書く。style.css はヘッダコメント+軽い読み込みだけにする

  • minifyや最適化ツールで /* ... */ コメントが消される事故を防げる

  • Gitで管理して、style.css のヘッダが残ってるかチェックすると安心

まとめ

  • 子テーマが突然消えたら、まず style.css のヘッダコメントを確認!
  • Theme NameTemplate が正しく書かれていないとWordPressはテーマと認識しない
  • JINに限らず、子テーマは全部同じ仕組みなので他テーマでも応用可能
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?