resolve_block_template()


WordPressのresolve_block_template()関数は、ブロックテンプレートを解決し、適切なテンプレートファイルをロードするために使用されます。この関数は、ブロックテーマやカスタムブロックテンプレートを扱う際に役立ちます。

構文

resolve_block_template( string $template, string $type, array $templates );

引数の説明:

  • $template (string) — 解決するテンプレートのパス。
  • $type (string) — テンプレートのタイプ(例: ‘index’, ‘single’, ‘page’)。
  • $templates (array) — テンプレートの候補リスト。

例1: 基本的なテンプレートの解決

この例では、シングル投稿用のテンプレートを解決します。

resolve_block_template( 'single', 'post', array( 'single-post.php', 'single.php' ) );

例2: カスタム投稿タイプのテンプレート解決

カスタム投稿タイプ「book」用のテンプレートを解決します。

resolve_block_template( 'single', 'book', array( 'single-book.php', 'single.php' ) );

例3: ページテンプレートの解決

固定ページ用のテンプレートを解決します。

resolve_block_template( 'page', 'page', array( 'page-custom.php', 'page.php' ) );

例4: インデックステンプレートの解決

インデックスページ用のテンプレートを解決します。

resolve_block_template( 'index', 'index', array( 'index.php' ) );

例5: カスタムテンプレートの優先順位

カスタムテンプレートを優先して解決します。

resolve_block_template( 'single', 'post', array( 'single-custom.php', 'single-post.php', 'single.php' ) );

例6: テンプレートのタイプを指定しない場合

テンプレートのタイプを指定せずに解決します。

resolve_block_template( '', '', array( 'custom-template.php' ) );

例7: テンプレート候補が空の場合

テンプレート候補が空の場合のデフォルト動作を示します。

resolve_block_template( 'single', 'post', array() );

注意点

  • テンプレートファイルが存在しない場合、関数はデフォルトのテンプレートを返すことがあります。
  • テンプレートの優先順位は、配列の順序に依存します。
  • テンプレートのタイプを正確に指定することが重要です。

関連機能: