Nueva API de registro de tipos de bloque: mejora del rendimiento en WordPress 6.7

WordPress 6.7 Introducida una nueva característica que permite a los plugins elevar el registro de sus bloqueswp_register_block_metadata_collection()rendimiento del tipo, especialmente para los plugins que registran varios tipos de bloque.

Nueva API de registro de tipos de bloque: mejora del rendimiento en WordPress 6.7

Extender los comportamientos del núcleo de WordPress a los plugins

Desde WordPress 6.1, WordPress Core ha incluido un mecanismo para mejorar el rendimiento de la carga de todos los tipos de bloques incorporados: como parte del proceso de compilación, los bloques individualesbloque.jsonEl archivo se analizará como unbloques-json.phpque devuelve todos sus datos como una matriz.Mejora significativamente el rendimiento al evitar la necesidad de realizar muchas operaciones costosas de sistema de archivos y JSON en cada solicitud de WordPress.funcionamiento. Para más información sobre los cambios originales, consulte el#55005.

Nueva API de registro de tipos de bloque: mejora del rendimiento en WordPress 6.7

Sin embargo, la forma en que se implementa este mecanismo sólo se aplica al propio núcleo de WordPress. Hasta ahora, los plugins no han podido beneficiarse de las mismas ventajas. Especialmente para los plugins que contienen muchos tipos de bloque en sí mismos, esto significa efectivamente una pérdida de rendimiento. Esto cambiará en WordPress 6.7.

Recopilación de metadatos de bloques registrados

El plugin ahora registra opcionalmente PHP "lista de artículos" que contiene todos los metadatos para su tipo de bloque. Para cualquier tipo de bloque que se esté registrando, WordPress Core comprobará ahora si existe un archivo de manifiesto que cubra ese tipo de bloque y, en caso afirmativo, utilizará los datos del archivo de manifiesto en lugar del archivobloque.jsonLea y analice directamente los archivos de tipo bloque.

Para poder utilizar esta nueva función, los desarrolladores de plugins deben utilizar el nuevowp_register_block_metadata_collection()que toma dos argumentos:

  • $path: La ruta base donde se encuentran los archivos de bloque de la colección.
  • $manifiesto: Ruta al archivo de manifiesto de la colección.

todo el mundobloque.jsonLos documentos que deben formar parte de la colección deben encontrarse todos en el$path, situado en su propio directorio que coincide con el nombre del tipo de bloque (sin el espacio de nombres del bloque).

tenga en cuenta: Registrar una colección de metadatos de bloque no sustituye la necesidad de registrar tipos de bloque individuales. Sigue siendo necesario llamar alregister_block_type()tal vezregistrar_tipo_bloque_desde_metadatos(). El uso de la nueva función es opcional para mejorar el rendimiento, pero es muy recomendable utilizarla, especialmente para los plugins que registran varios tipos de bloque.

Nueva API de registro de tipos de bloque: mejora del rendimiento en WordPress 6.7

Generación automática de listas de recopilación de metadatos en bloque

Los desarrolladores de plugins son responsables de generar y mantener los archivos de manifiesto que registran para las colecciones de metadatos del tipo de bloque del plugin. Con el fin de simplificar este proceso, la comunidad ha hecho delPaquete NPMLa implantación de un nuevocomandobuild-blocks-manifestEste comando se publicó como parte de la versión 30.3.0.@wordpress/scripts

deberíawp-scripts build-blocks-manifestEl comando acepta dos parámetros:

  • --entrada: El directorio donde se encuentra el tipo de bloque. El valor por defecto es "build".
  • -- salida: La ruta al archivo donde se almacena el manifiesto de la colección de metadatos del bloque de compilación. Por defecto es "build/blocks-manifest.php".

De hecho, los parámetros de este comando son equivalentes a los parámetros del comandowp_register_block_metadata_collection()::--entradaLos parámetros son equivalentes a los parámetros$path(matemáticas) género-- salidaLos parámetros son equivalentes a los parámetros$manifiesto.

Ejemplo completo

Para este ejemplo, suponga que tiene unmi-bloque-bibliotecaPlug-ins registrados para 3 tipos de bloque:

  • mi-bloque-biblioteca/precios
  • mi-biblioteca-servicios
  • mi-bloque-biblioteca/testimonio

El código fuente de estos tipos de bloque está implementado en el directorio del pluginsrc, más concretamente en el siguiente catálogo:

  • src/preciosutilizar parami-bloque-biblioteca/preciosBloques.
  • src/serviciosutilizar parami-biblioteca-serviciosBloques.
  • src/testimonialutilizar parami-bloque-biblioteca/testimonioBloques.

Utilizando loswp-scripts buildel código se integrará en el plugin deconstruyay cada tipo de bloque tiene el mismo subdirectorio.

Nueva API de registro de tipos de bloque: mejora del rendimiento en WordPress 6.7

Después de ejecutar la compilación, puede utilizar el nuevowp-scripts build-blocks-manifestcomando. Dado que el complemento utiliza la ubicación por defecto de su tipo de bloque, no es necesario pasar ningún parámetro al comando. Basta con ejecutar el comandowp-scripts build-blocks-manifestSebloque.jsonLeer los metadatos de los tres bloques del catálogoconstruyay fusionarlos en unbuild/bloques-manifest.phpDocumentación.

El archivo de manifiesto tiene el siguiente aspecto:

array( /* Bloquear metadatos. */ ), 'testimonial' => array( /* Bloquear metadatos.
'testimonial' => array( /* Bloquear metadatos. */ ), 'testimonial' => array( /* Bloquear metadatos. */ )
).

En el futuro, se podrán utilizar los mismos dos comandos cuando se realicen cambios en el tipo de bloque y en su implementación:

wp-scripts build
wp-scripts build-blocks-manifest

Tras generar el archivo de manifiesto, ya puede registrar la colección de metadatos del bloque, como se muestra a continuación:

wp_register_block_metadata_collection(
wp_plugin_dir . '/mi-bloque-biblioteca/construir',
wp_plugin_dir . '/my-block-library/build/blocks-manifest.php'
);

Un último punto importante, no olvide registrar el tipo de bloque real:

register_block_type_from_metadata( WP_PLUGIN_DIR . '/my-block-library/build/pricing' ).
register_block_type_from_metadata( WP_PLUGIN_DIR . '/my-block-library/build/services' ); register_block_type_from_metadata( WP_PLUGIN_DIR .
register_block_type_from_metadata( WP_PLUGIN_DIR . '/my-block-library/build/testimonial' ); register_block_type_from_metadata( WP_PLUGIN_DIR .
Nueva API de registro de tipos de bloque: mejora del rendimiento en WordPress 6.7

resúmenes

nueva funciónwp_register_block_metadata_collection()y su herramienta de apoyo@wordpress/scriptsson una potente combinación para mejorar el rendimiento de los tipos de bloque de registro de plugins. Hacen que el proceso sea fácil y sencillo, así que si los plugins registran tipos de bloque, considere la posibilidad de incorporar este enfoque a su flujo de trabajo de desarrollo y a su base de código de plugins.


Póngase en contacto con nosotros
¿No puede leer el artículo? Póngase en contacto con nosotros para obtener una respuesta gratuita. Ayuda gratuita para sitios personales y de pequeñas empresas
Teléfono: 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
Publicado por photon fluctuations, retweeted with attribution:https://www.361sale.com/es/21715/

Como (0)
Anterior hace 1 días
Siguiente 9 hace horas

Recomendado

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Póngase en contacto con nosotros

020-2206-9892

QQ咨询:1025174874

Correo electrónico: info@361sale.com

Horario de trabajo: de lunes a viernes, de 9:30 a 18:30, días festivos libres

Servicio de atención al cliente WeChat