Nova API de registo de tipo de bloco: Melhorar o desempenho no WordPress 6.7

WordPress 6.7 Introduziu uma nova funcionalidade que permite que os plugins aumentem o registo dos seus blocoswp_register_block_metadata_collection()especialmente para plugins que registam vários tipos de blocos.

Nova API de registo de tipo de bloco: Melhorar o desempenho no WordPress 6.7

Estender os Comportamentos Principais do WordPress aos Plugins

Desde a versão 6.1 do WordPress, o WordPress Core inclui um mecanismo para melhorar o desempenho do carregamento de todos os tipos de blocos incorporados: como parte do processo de compilação, osblock.jsonO ficheiro será analisado como um ficheiroblocos-json.phpque devolve todos os seus dados como uma matriz.Melhora significativamente o desempenho, evitando a necessidade de executar muitos sistemas de ficheiros e JSON dispendiosos em cada pedido do WordPressoperação. Para obter informações sobre as alterações originais, consulte o#55005.

Nova API de registo de tipo de bloco: Melhorar o desempenho no WordPress 6.7

No entanto, a forma como este mecanismo é implementado apenas se aplica ao próprio WordPress Core. Até agora, os plugins não conseguiram obter os mesmos benefícios. Especialmente para os plugins que contêm muitos tipos de blocos, isto significa efetivamente uma perda de desempenho. Isso vai mudar no WordPress 6.7.

Coleção de metadados de blocos registados

O plugin agora regista opcionalmente o PHP "lista de itens" que contém todos os metadados para o seu tipo de bloco. Para qualquer tipo de bloco que esteja sendo registrado, o WordPress Core agora verificará se existe um arquivo de manifesto que cubra esse tipo de bloco e, se houver, usará os dados no arquivo de manifesto em vez do arquivoblock.jsonLeia e analise diretamente ficheiros de tipo bloco.

Para utilizar esta nova funcionalidade, os programadores de plug-ins têm de utilizar o novowp_register_block_metadata_collection()que recebe dois argumentos:

  • $pathCaminho de base onde se encontram os ficheiros de blocos da coleção.
  • $manifestoCaminho para o ficheiro de manifesto da coleção.

todosblock.jsonOs documentos que devem fazer parte da coleção devem estar todos localizados no$pathlocalizado no seu próprio diretório, correspondendo ao nome do tipo de bloco (sem o espaço de nomes do bloco).

tomar nota deO registo de um conjunto de metadados de blocos não substitui a necessidade de registar tipos de blocos individuais. Continua a ser necessário chamar a funçãoregister_block_type()talvezregister_block_type_from_metadata(). A utilização da nova funcionalidade é opcional para melhorar o desempenho, mas recomenda-se vivamente a utilização desta funcionalidade, especialmente para plugins que registam vários tipos de blocos.

Nova API de registo de tipo de bloco: Melhorar o desempenho no WordPress 6.7

Geração automática de listas de recolha de metadados de bloco

Os programadores de plugins são responsáveis pela criação e manutenção dos ficheiros de manifesto que registam para as colecções de metadados do tipo de bloco do plugin. Para simplificar este processo, a comunidade criou oPacote NPMA implementação de um novocomandomanifesto de blocos de construçãoEste comando foi lançado como parte da versão 30.3.0.@wordpress/scripts

devewp-scripts construir-blocos-manifestoO comando aceita dois parâmetros:

  • -entradaDiretório onde se encontra o tipo de bloco. O valor por defeito é "build".
  • --saídaCaminho para o ficheiro onde está armazenado o manifesto da coleção de metadados do bloco de construção. A predefinição é "build/blocks-manifest.php".

De facto, os parâmetros deste comando são equivalentes aos parâmetros do comandowp_register_block_metadata_collection()::-entradaOs parâmetros são equivalentes aos parâmetros$path(matemática) género--saídaOs parâmetros são equivalentes aos parâmetros$manifesto.

Exemplo completo

Para este exemplo, suponha que tem uma minha biblioteca de blocosPlug-ins registados para 3 tipos de blocos:

  • minha-biblioteca-bloco/preços
  • minha-biblioteca-bloco/serviços
  • minha-biblioteca-bloco/testimonial

O código-fonte para estes tipos de blocos está implementado no diretório do pluginsrce, mais especificamente, no seguinte catálogo:

  • src/preçosutilização paraminha-biblioteca-bloco/preçosBlocos.
  • src/serviçosutilização paraminha-biblioteca-bloco/serviçosBlocos.
  • src/testimonialutilização paraminha-biblioteca-bloco/testimonialBlocos.

Utilizando os actuaiswp-scripts construiro código será incorporado no ficheiroconstruire cada tipo de bloco tem o mesmo subdiretório.

Nova API de registo de tipo de bloco: Melhorar o desempenho no WordPress 6.7

Depois de executar a compilação, pode utilizar a novawp-scripts construir-blocos-manifestocomando. Uma vez que o plugin utiliza a localização predefinida do seu tipo de bloco, não é necessário passar quaisquer parâmetros para o comando. Simplesmente execute o comandowp-scripts construir-blocos-manifestoIráblock.jsonLeia os metadados para os três blocos do catálogoconstruire funde-os num ficheirobuild/blocks-manifest.phpDocumentação.

O ficheiro de manifesto tem o seguinte aspeto:

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

No futuro, os mesmos dois comandos podem ser utilizados para efetuar alterações ao tipo de bloco e à sua implementação:

wp-scripts construir
wp-scripts construir-blocos-manifesto

Depois de gerar o ficheiro de manifesto, pode agora registar a coleção de metadados do bloco, como se mostra abaixo:

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

Um último ponto importante: não se esqueça de registar o tipo de bloco atual:

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 .
Nova API de registo de tipo de bloco: Melhorar o desempenho no WordPress 6.7

resumos

nova funcionalidadewp_register_block_metadata_collection()e a sua ferramenta de apoio@wordpress/scriptssão uma combinação poderosa para melhorar o desempenho dos tipos de blocos de registo de plugins. Tornam o processo fácil e simples, por isso, se os plug-ins registarem tipos de bloco, considere incorporar esta abordagem no seu fluxo de trabalho de desenvolvimento e na base de código do plug-in.


Contactar-nos
Não consegue ler o artigo? Contacte-nos para obter uma resposta gratuita! Ajuda gratuita para sítios pessoais e de pequenas empresas!
Tel: 020-2206-9892
QQ咨询:1025174874
(iii) Correio eletrónico: info@361sale.com
Horário de trabalho: de segunda a sexta-feira, das 9h30 às 18h30, com folga nos feriados
Publicado por photon fluctuations, retweetado com atribuição:https://www.361sale.com/pt/21715/

Como (0)
Anterior 1 dias atrás
Seguinte 10 horas atrás

Recomendado

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

Contactar-nos

020-2206-9892

QQ咨询:1025174874

Correio eletrónico: info@361sale.com

Horário de trabalho: de segunda a sexta-feira, das 9h30 às 18h30, com folga nos feriados

Serviço ao cliente WeChat