サポート » テーマ » カスタムテンプレート追加時のパターン選択を増やしたい

  • hatobane

    (@hatobane)


    テンプレートパターンの登録については
    テーマフォルダの直下に「patterns」フォルダを生成するか、
    あるいはregister_block_pattern関数を用いて実現ができます。

    やりたい事は「テンプレートの追加 > カスタムテンプレート > パターンを選択」と遷移した際の選択できるパターンの候補を増やしたいです。

    しかし、テンプレートパターンの登録時に設定する「Template Types」について、インデックスやページなどが指定できますが

    カスタムテンプレートに該当する値がないため、フォールバックコンテンツしかパターンが選択できません。

    ▽ WordPress/wp-includes/block-template-utils.php
    https://github.com/WordPress/WordPress/blob/master/wp-includes/block-template-utils.php
    └ 108行目付近

    カスタムテンプレートのテンプレートパターンを登録する方法がありましたら、ご教授いただけましたら幸いです。
    あるいは、フォールバックに該当するテンプレートを増やす方法などありますでしょうか。

    何卒よろしくお願いいたします。

    • このトピックはhatobaneが2ヶ月前に変更しました。
1件の返信を表示中 - 1 - 1件目 (全1件中)
  • Aki Hamano

    (@wildworks)

    こんにちは。

    これはおそらくハック的な手法ですが、カスタムテンプレートを作成する時には内部的に wp-custom-template-XXX というスラッグを持っています。

    このXXXの部分はカスタムテンプレート名によって動的に変わりますが、テンプレート追加時のスターターパターンはスラッグの前方一致で絞り込んでいます。

    https://github.com/WordPress/gutenberg/blob/697856b91820ea3469010dc3130a461ac315e8d4/packages/edit-site/src/components/start-template-options/index.js#L96

    なので、以下のようなパターンを作成すれば、カスタムテンプレート作成時に読み込んでくれるはずです。

    <?php
    /**
     * Title: Test
     * Slug: mytheme/test
     * Template Types: wp-custom-template
     */
    ?>
    
    <!-- wp:paragraph -->
    <p>Test</p>
    <!-- /wp:paragraph -->
    

    他にも方法はあるかもしれません。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • このトピックに返信するにはログインが必要です。