theme.jsonとは何ですか?

  1. `````theme.json`````でできることのいくつかは次のとおりです:
  2. - ドロップキャップ、パディング、マージン、行の高さなどの機能を有効または無効にする。
  3. - カラーパレット、グラデーション、デュオトーン、シャドウを追加する。
  4. - フォントファミリー、サイズなどのタイポグラフィ機能を設定する。
  5. - CSSカスタムプロパティを追加する。
  6. - カスタムテンプレートを登録し、テンプレートパートエリアにパーツを割り当てる。
  7. あなたの`````theme.json`````設定は、WordPress管理の投稿、テンプレート、サイトエディタなどで見ることができます。特にカスタムスタイルは、**スタイル**インターフェースに反映されます:
  8. [![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)
  9. <a name="theme-json-structure"></a>
  10. ## theme.jsonの構造
  11. `````theme.json`````ファイルは、ブロックの外観ツールを有効にするこの例のように、数行のコードで構成されることもあります:
  12. ``````bash
  13. {
  14. "$schema": "https://schemas.wp.org/trunk/theme.json",
  15. "version": 2,
  16. "settings": {
  17. "appearanceTools": true
  18. }
  19. }
  20. `

または、1,000行以上のコードにわたる非常に複雑なファイルであることもあります。設定したい機能の数は完全にあなた次第です。

出発点は、設定可能なトップレベルプロパティを理解することです。これがどのように見えるかの概要は次のとおりです:

  1. {
  2. "$schema": "https://schemas.wp.org/trunk/theme.json",
  3. "version": 2,
  4. "settings": {},
  5. "styles": {},
  6. "customTemplates": {},
  7. "templateParts": {},
  8. "patterns": []
  9. }

これらのプロパティが定義する内容は次のとおりです:

  • $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ファイルで設定されたものは、階層内で優先されない可能性があるということです。