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_Template
y replicar la lógica interna de WordPress.

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 //).$args
Matriz de parámetros utilizados para definir la plantilla:título
Título internacionalizado de la plantilla.descripción
Descripció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](http://gqxi.cn/wp-content/uploads/2024/10/2024102102073995.png)
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](http://gqxi.cn/wp-content/uploads/2024/10/2024102101425383.png)
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](http://gqxi.cn/wp-content/uploads/2024/10/2024102102020459.png)
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
|
① 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 |
Enlace a este artículo:http://gqxi.cn/es/21929El artículo está protegido por derechos de autor y debe ser reproducido con atribución.
Sin comentarios