theme.jsonとは何ですか?
`````theme.json`````でできることのいくつかは次のとおりです:
- ドロップキャップ、パディング、マージン、行の高さなどの機能を有効または無効にする。
- カラーパレット、グラデーション、デュオトーン、シャドウを追加する。
- フォントファミリー、サイズなどのタイポグラフィ機能を設定する。
- CSSカスタムプロパティを追加する。
- カスタムテンプレートを登録し、テンプレートパートエリアにパーツを割り当てる。
あなたの`````theme.json`````設定は、WordPress管理の投稿、テンプレート、サイトエディタなどで見ることができます。特にカスタムスタイルは、**スタイル**インターフェースに反映されます:
[![WordPressサイトエディタがシングルポストテンプレートを表示しています。右側には、スタイルインターフェースで強調表示されたボタンブロックがあります。](https://cdn.hedaai.com/projects/wordpress/e0cd96b48420fa995a2c424f562446aa.jpeg_big1500.jpeg)](https://i0.wp.com/developer.wordpress.org/files/2023/11/global-styles-site-editor.jpg?ssl=1)
<a name="theme-json-structure"></a>
## theme.jsonの構造
`````theme.json`````ファイルは、ブロックの外観ツールを有効にするこの例のように、数行のコードで構成されることもあります:
``````bash
{
"$schema": "https://schemas.wp.org/trunk/theme.json",
"version": 2,
"settings": {
"appearanceTools": true
}
}
`
または、1,000行以上のコードにわたる非常に複雑なファイルであることもあります。設定したい機能の数は完全にあなた次第です。
出発点は、設定可能なトップレベルプロパティを理解することです。これがどのように見えるかの概要は次のとおりです:
{
"$schema": "https://schemas.wp.org/trunk/theme.json",
"version": 2,
"settings": {},
"styles": {},
"customTemplates": {},
"templateParts": {},
"patterns": []
}
これらのプロパティが定義する内容は次のとおりです:
$schema
: サポートされているJSONスキーマを定義するために使用され、リアルタイムのヒントやエラーレポートを提供するために多くのコードエディタと統合されます。version
: あなたが構築しているtheme.json
スキーマのバージョン。最新バージョンは2で、常にtheme.json
Living Referenceにあります。このドキュメントには、設定可能な最新のプロパティがリストされています。settings
: ブロックコントロールやカラーパレット、フォントサイズなどを定義するために使用されます。styles
: ウェブサイトやブロックに色、フォントサイズ、カスタムCSSなどを適用するために使用されます。customTemplates
: テーマの/templates
フォルダで定義されたカスタムテンプレートのメタデータ。templateParts
: テーマの/parts
フォルダで定義されたテンプレートパーツのメタデータ。patterns
: パターンダイレクトリから登録されるパターンスラグの配列です。
これらのプロパティとそのサブプロパティについては、グローバル設定とスタイルの章でさらに学ぶことができます。
設定とスタイルの階層
あなたのテーマのtheme.json
ファイルは、ウェブサイトの設定とスタイル構成の階層の中で一つのレベルに過ぎません。これは、特定の状況下で上書きされる可能性があることを意味します。
この階層の順序は、低いものから高いものへと次のようになります:
- WordPress
theme.json
: WordPressには、デフォルトの設定とスタイルを定義するtheme.json
ファイルがあります。 - テーマ
theme.json
: あなたのテーマのtheme.json
ファイルで定義したものは、WordPressのデフォルトを上書きします。 - 子テーマ
theme.json
: 有効な場合、子テーマのtheme.json
がメインまたは「親」テーマよりも優先されます。 - ユーザー設定: ユーザーは、WordPress管理の外観 > エディタでサイトの動作をさらにカスタマイズでき、JSONデータはサイトのデータベースに保存されます。彼らの選択は、階層内の他のすべてのレベルよりも優先されます。
プラグインやテーマの著者が値を動的に上書きできるフィルターフックも利用可能です。これらについて詳しく知りたい場合は、WordPress Developer Blogのサーバーサイドフィルターを使用してtheme.jsonデータを変更する方法をチェックしてください。
重要なことは、theme.json
ファイルで設定されたものは、階層内で優先されない可能性があるということです。