Nueva API de registro de plantillas de plugin en WordPress 6.7

Desde la introducción de los temas de bloque, los desarrolladores de temas han podido crear plantillas de bloque personalizadas. Sin embargo, esta posibilidad está limitada a los temas y los plugins no pueden registrar directamente sus propias plantillas. Para conseguir una funcionalidad similar, los plugins tienen que recurrir a métodos complejos, como enganchar múltiples filtros PHP, crear manualmenteWP_Block_Templatey replicar la lógica interna de WordPress.

Nueva API de registro de plantillas de plugin en WordPress 6.7

WordPress 6.7 Se ha introducido una nueva API que simplificará enormemente el proceso de registro por parte de los plugins de sus propias plantillas de bloques. Para ello, se han introducido dos nuevas funciones:register_block_template()Se utiliza para registrar plantillas de bloques ydesregistrar_plantilla_bloque()Se utiliza para anular el registro de plantillas de bloques.

register_block_template( string $template_name, $args = array() )Acepta dos parámetros que definen cómo se registra la plantilla:

  • 1TP4Nombre_plantilla: Nombre de la plantilla en forma de plugin_uri//template_name (tenga en cuenta que esto requiere un doble //).
  • $argsMatriz de parámetros utilizados para definir la plantilla:
    • títuloTítulo internacionalizado de la plantilla.
    • descripciónDescripción internacionalizada de la plantilla.
    • contenido: El contenido por defecto de la plantilla cuando se muestra en el editor o en el front-end (marcado de bloques).
    • tipos_post: Una serie de slugs de tipo post que pueden ponerse a disposición de los usuarios como plantillas personalizadas para cada post.
Image[2]-Nueva API de registro de plantillas de plugin en WordPress 6.7 - Photon Fluctuation Network | Servicio profesional de reparación de WordPress, alcance global, respuesta rápida

Por ejemplo, un plugin puede registrar una plantilla utilizando el siguiente fragmento de código:

register_block_template( 'devblog-plugin-templates//mi-plantilla', [
    'title' => __( 'Ejemplo', 'devblog-plugin-templates' ), [ 'description' => __( 'Ejemplo de plantilla de bloque de un plugin.
    'description' => __( 'Ejemplo de plantilla de bloque de un 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>Esta es una plantilla registrada por un plugin.</p>
                <!-- /wp:paragraph -->
            </div>
            <!-- /wp:group -->
        </main>
        <!-- /wp:group -->
        <!-- wp:template-part {"slug":"footer","area":"footer","tagName":"footer"} /-->'

Una vez registrada, esta plantilla aparecerá con todas las demás plantillas en el editor del sitio:

Imagen [3] - Nueva API de registro de plantillas de plugin en WordPress 6.7 - Photon Fluctuation Network | Servicio profesional de reparación de WordPress, alcance global, respuesta rápida

Y, si se desea, el registro puede cancelarse posteriormente mediante el siguiente comando:

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

El plugin también puede anular plantillas en la jerarquía de plantillas de WordPress, como páginas de archivo para tipos de entrada personalizados o páginas de autor específicas.

Las plantillas de los temas tienen prioridad sobre las plantillas registradas en los plugins, lo que permite a los temas anular plantillas específicas de los plugins, al igual que ocurre con las plantillas de WordPress.

Actualmente, esta API se limita a las plantillas de bloques y no permite registrar secciones de plantillas de bloques.

Image[4]-Nueva API de registro de plantillas de plugin en WordPress 6.7 - Photon Fluctuation Network | Servicio profesional de reparación de WordPress, alcance global, respuesta rápida

Contacte con nosotros
?No puede leer el tutorial? Póngase en contacto con nosotros para obtener una respuesta gratuita. Ayuda gratuita para sitios personales y de peque?as empresas
Servicio de atención al cliente WeChat
Servicio de atención al cliente WeChat
Tel: 020-2206-9892
QQ咨詢:1025174874
(iii) Correo electrónico: info@361sale.com
Horario de trabajo: de lunes a viernes, de 9:30 a 18:30, días festivos libres
? Declaración de reproducción
Este artículo fue escrito por Harry
EL FIN
Si le gusta, apóyela.
felicitaciones0 compartir (alegrías, beneficios, privilegios, etc.) con los demás
comentarios compra de sofás

Por favor, inicie sesión para enviar un comentario

    Sin comentarios