WordPress 6.7の新しいプラグインテンプレート登録API

ブロックテーマの導入以来、テーマ開発者はカスタムブロックテンプレートを作成できるようになりました。しかし、この可能性はテーマに限られており、プラグインは独自のテンプレートを直接登録することはできません。同様の機能を実現するために、プラグインは複数のPHPフィルターをフックしたり、手作業でWP_Block_Templateオブジェクトを作成し、WordPress の内部ロジックを複製します。

WordPress 6.7の新しいプラグインテンプレート登録API

ワードプレス 6.7 プラグインが独自のブロックテンプレートを登録するプロセスを大幅に簡素化する新しいAPIが導入されました。これを実現するために、2つの新機能が導入されました:register_block_template()ブロックテンプレートとunregister_block_template()ブロックテンプレートの登録を解除するために使用します。

register_block_template( string $template_name, $args = array( ) )テンプレートの登録方法を定義する2つのパラメータを受け取ります:

  • 1TP4テンプレート名plugin_uri//template_nameという形式のテンプレート名です。
  • 1TP4タルグテンプレートを定義するために使用されるパラメータの配列:
    • タイトルテンプレートの国際化されたタイトル。
    • 記述テンプレートの国際化された説明。
    • 内容: エディターもしくはフロントエンドでレンダリングされるときのテンプレートのデフォルトの内容(ブロックマークアップ)。
    • ポストタイプ各投稿のカスタムテンプレートとしてユーザーが利用できる一連の投稿タイプスラッグ。
WordPress 6.7の新しいプラグインテンプレート登録API

例えば、プラグインは以下のコード・スニペットを使ってテンプレートを登録できます:

register_block_template( 'devblog-plugin-templates//my-template', [
    'title' => __( '例', 'devblog-plugin-templates' ), [ 'description' => __( 'プラグインのブロックテンプレートの例。
    'description' => __( 'プラグインのブロックテンプレートの例。', 'devblog-plugin-templates' )、
    'content' => '
        <!-- wp:template-part {"slug":"header","area":"header","tagName":"header"} /-->
        <!-- wp:group {"tagName":"main"} -->
        <main class="wp-block-group">
            <!-- wp:group {"layout":{"type":"constrained"}} -->
            <div class="wp-block-group">
                <!-- wp:paragraph -->
                <p>これはプラグインに登録されたテンプレートです。</p>
                <!-- /wp:paragraph -->
            </div>
            <!-- /wp:group -->
        </main>
        <!-- /wp:group -->
        <!-- wp:template-part {"slug":"footer","area":"footer","tagName":"footer"} /-->'

一度登録されると、このテンプレートはサイトエディタで他のすべてのテンプレートと一緒に表示されます:

WordPress 6.7の新しいプラグインテンプレート登録API

また、必要であれば、以下のコマンドを使用して登録を後でキャンセルすることもできます:

	unregister_block_template( 'devblog-plugin-templates//my-template' )

このプラグインは、カスタム投稿タイプのアーカイブページや特定の著者ページなど、WordPressのテンプレート階層にあるテンプレートを上書きすることもできます。

テーマのテンプレートはプラグインに登録されたテンプレートよりも優先され、特定のプラグインテンプレートをWordPressのテンプレートであるかのように上書きすることができます。

現在、このAPIはブロックテンプレートに限定されており、ブロックテンプレートのセクションを登録することはできません。

WordPress 6.7の新しいプラグインテンプレート登録API

お問い合わせ
記事が読めない?無料でお答えします!個人サイト、中小企業サイトのための無料ヘルプ!
電話:020-2206-9892
QQ咨询:1025174874
Eメール:info@361sale.com
勤務時間:月~金、9:30~18:30、祝日休み
投稿者:photon fluctuations、リツイート(帰属表示付き):https://www.361sale.com/ja/21929/

好き (1)
前へ 2日前
次のページ 1日前

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

お問い合わせ

020-2206-9892

QQ咨询:1025174874

Eメール:info@361sale.com

勤務時間:月~金、9:30~18:30、祝日休み

カスタマーサービス WeChat