Nouvelle API d'enregistrement des modèles de plugins dans WordPress 6.7

自从引入块主题以来,主题开发者就能够创建自定义块模板。但是,这种可能性仅限于主题,插件无法直接注册自己的模板。为了实现类似的功能,插件必须采用复杂的方法,包括挂接多个PHP过滤器、手动创建WP_Block_Template对象以及复制内部 WordPress 逻辑。

Nouvelle API d'enregistrement des modèles de plugins dans WordPress 6.7

WordPress 6.7 引入了一个新的API,它将大大简化插件注册自己的块模板的过程。为了实现这一点,引入了两个新功能:register_block_template()用于注册块模板和unregister_block_template()用于取消注册块模板。

register_block_template( string $template_name, $args = array() )接受两个参数,定义模板如何注册:

  • $template_name:模板名称,形式为plugin_uri//template_name(请注意,这需要双//)。
  • $args:用于定义模板的参数数组:
    • titre:模板的国际化标题。
    • description:模板的国际化描述。
    • contenu:模板在编辑器或前端呈现时的默认内容(块标记)。
    • post_types:一系列帖子类型 slug,可作为每个帖子的自定义模板提供给用户。
Nouvelle API d'enregistrement des modèles de plugins dans WordPress 6.7

例如,插件可以使用以下代码片段注册模板:

register_block_template( 'devblog-plugin-templates//my-template', [
    'title'     => __( 'Example', 'devblog-plugin-templates' ),
    'description' => __( 'An example block template from a plugin.', '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>This is a plugin-registered template.</p>
                <!-- /wp:paragraph -->
            </div>
            <!-- /wp:group -->
        </main>
        <!-- /wp:group -->
        <!-- wp:template-part {"slug":"footer","area":"footer","tagName":"footer"} /-->'

一旦注册,该模板将与站点编辑器中的所有其他模板一起出现:

Nouvelle API d'enregistrement des modèles de plugins dans WordPress 6.7

并且,如果需要,可以稍后使用以下命令取消注册:

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

插件还可以覆盖 WordPress 模板层次结构中的模板,例如自定义帖子类型的存档页面或特定作者页面。

主题模板优先于插件注册的模板,允许主题覆盖特定的插件模板,就像使用 WordPress 模板一样。

目前该API仅限于块模板,不允许注册块模板部分。

Nouvelle API d'enregistrement des modèles de plugins dans WordPress 6.7

Nous contacter
Vous ne pouvez pas lire l'article ? Contactez-nous pour une réponse gratuite ! Aide gratuite pour les sites personnels et les sites de petites entreprises !
Tel : 020-2206-9892
QQ咨询:1025174874
(iii) Courriel : info@361sale.com
Horaires de travail : du lundi au vendredi, de 9h30 à 18h30, jours fériés.
Posté par photon fluctuations, retweeté avec attribution :https://www.361sale.com/fr/21929/

Comme (1)
Précédent 2 jours ago
Suivant 1 il y a un jour

Recommandé

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Nous contacter

020-2206-9892

QQ咨询:1025174874

Courriel : info@361sale.com

Horaires de travail : du lundi au vendredi, de 9h30 à 18h30, jours fériés.

Service clientèle WeChat