ブロックテーマかクラシックテーマかを見分ける方法|is_block_themeとtemplates/index.html

WordPressのテーマが、ブロックテーマかクラシックテーマかは、テーマの中に「templates/index.html」(または「block-templates/index.html」)というファイルがあるかで決まります。WordPress本体のコードは、このファイルの有無だけで判定しています。見分ける方法は3つあります。REST APIの「is_block_theme」の値を見る方法、テーマのファイルのURLに直接アクセスする方法、WordPressのコードを読む方法です。

この記事では、このサイトのテーマを実際に調べた結果と、WordPress公式のTheme Handbookの記載(確認日:2026年10月20日)を並べます。有料のテーマを選ぶ前に、「ブロックテーマ」「クラシックエディタ」といった表記を読み解く材料になります(有料WordPressテーマの選び方)。

1. 公式の定義:ブロックテーマとクラシックテーマ

種類 Theme Handbookの説明
ブロックテーマ HTMLベースのブロックテンプレートで作られる。サイトエディターで、テンプレートを編集できる。theme.jsonでスタイルを設定する
クラシックテーマ PHPベースのテンプレートの仕組み。2005年から続く仕組みで、今も使われている。ブロックテーマに比べて、守る標準が少ない
ハイブリッドテーマ ブロック関連の新しい機能を取り入れたクラシックテーマ。公式の種類ではなく、コミュニティで使われる呼び方。最終的には、クラシックテーマとして扱われる

つまり、theme.jsonがあるだけでは、ブロックテーマとは言えません。ブロックエディタに対応していても、クラシックテーマのままのものがあります。

2. WordPress本体が判定するコード

WordPress 7.1.2のclass-wp-theme.phpのis_block_theme()は、次の2つのファイルを順に調べます。

/templates/index.html
/block-templates/index.html

どちらかが読み取れるファイルとして存在すれば、ブロックテーマ(true)です。どちらもなければfalse、つまりクラシックテーマです。子テーマの場合は、子テーマのフォルダを先に、次に親テーマのフォルダを探します。

3. このサイトで調べた結果

方法①:REST APIのis_block_theme

管理者としてログインしている状態で、/wp-json/wp/v2/themes?status=activeを開くと、有効なテーマの情報が返ります。このサイト(確認日:2026年10月20日)の値です。

項目 値
stylesheet(有効なテーマ) lightning-child
template(親テーマ) lightning
is_block_theme false

ログインしていない状態で同じURLを開くと、「有効化されたテーマを表示する権限がありません」というエラー(401)が返りました。この方法は、管理者向けです。

方法②:ファイルのURLにアクセスする

テーマのファイルは、/wp-content/themes/テーマ名/の下に置かれます。ブロックテーマ判定のファイルに、ブラウザからアクセスして、結果を見ました。

URL(/wp-content/themes/ の下) 結果
lightning/templates/index.html 404
lightning/block-templates/index.html 404
lightning-child/templates/index.html 404
lightning-child/block-templates/index.html 404
lightning/theme.json 200(ファイルがある)
lightning-child/theme.json 404

判定のファイルは4つとも404で、親テーマにはtheme.jsonがあります。theme.jsonはあるが、templates/index.htmlはないので、REST APIのfalseと一致します。このテーマは、ブロックの設定ファイルを取り入れたクラシックテーマ(ハイブリッド)と考えられます。

この方法は、サーバーの設定で、テーマのフォルダへのアクセスを止めているサイトでは使えません。404になったことだけで、ファイルがないと決めつけず、REST APIの値と合わせて見てください。

方法③:サイトに入っていないテーマを調べる

買う前のテーマは、サイトに入れる前に、販売ページの記載で確かめます。たとえば、SWALLOWの公式ページには「クラシックエディタ」ベースのテーマ、LIQUID PRESSの公式ページには「フルサイト編集対応ブロックテーマ」と書かれています。販売ページの表記と、買った後のis_block_themeの値を、見比べることもできます。

4. ブロックテーマとクラシックテーマで、編集の方法が変わる所

  • ブロックテーマは、ヘッダーやフッターなど、サイトの全体をサイトエディターで編集できます(Theme Handbookの記載)
  • クラシックテーマは、ヘッダーなどの見た目を、PHPのテンプレートやカスタマイザー、ウィジェットで変えます
  • ブロックテーマの子テーマは、スタイルの読み込みを、theme.jsonで済ませられる場合があります(Child Themesの記載)。クラシックテーマの子テーマは、style.cssを読み込む設定が必要になることが多いです

子テーマの確認については子テーマが有効か確かめる方法にまとめています。

まとめ

  • ブロックテーマかは、templates/index.html(またはblock-templates/index.html)があるかで決まる
  • theme.jsonがあるだけではブロックテーマではない。このサイトのLightningは、theme.jsonがあってis_block_themeはfalse
  • 管理者なら、REST APIの/wp/v2/themes?status=activeでis_block_themeを見るのが、WordPress本体の判定と同じ結果を得られる方法
  • ファイルのURLが404でも、アクセスを止めているだけの場合があるので、REST APIの値と合わせて見る
  • 買う前のテーマは、販売ページの「ブロックテーマ」「クラシックエディタ」の表記で確かめる

本記事はWordPress公式のTheme Handbook・WordPress 7.1.2のソースコード・このサイトの実測(確認日:2026年10月20日)にもとづきます。サイトや環境で結果は変わることがあります。