WordPress 6.5 Nova funcionalidade: Detalhes do exemplo da API de ligação de blocos

O WordPress 6.5 introduz uma nova funcionalidade: a API Block Bindings. Esta é uma ferramenta que torna o editor de blocos mais fácil de utilizar e simplifica a adição de todo o tipo de dados a diferentes partes do seu sítio Web. Isto significa que terá muito menos código personalizado para escrever durante a edição.

WordPress 6.5 Nova funcionalidade: Detalhes do exemplo da API de ligação de blocos

O que é a API de ligação de blocos?

Suponha que tem um bloco básico que precisa de utilizar numa página Web para apresentar algumas informações de uma fonte específica, como os detalhes de um artigo ou algumas regras personalizadas formuladas em código PHP. Como é que o faz? Aqui está a forma de o fazer de forma simples e clara.

WordPress 6.5 Nova funcionalidade: Detalhes do exemplo da API de ligação de blocos

Nas versões anteriores do WordPress, se quisesse apresentar alguma informação especial numa página Web, como detalhes extra para uma publicação ou algum conteúdo personalizado pela lógica PHP, era normalmente necessário criar um novo bloco personalizado. Este processo podia ser complicado e demorado.

No entanto, a partir do WordPress 6.5, as coisas ficaram muito mais fáceis. Com a API Block Binding, agora é possível fazer com que um bloco padrão existente, como um parágrafo ou um título, busque dados diretamente de uma fonte diferente sem precisar criar um bloco totalmente novo. Isso significa que você pode fazer com que um bloco de parágrafo exiba metadados para um post diretamente, ou um bloco de título exiba a lógica PHP gerada por um plug-in, tudo sem ter que mergulhar na programação React, no registro de bloco ou na criação de um novo bloco personalizado do zero.

A API de vinculação de blocos do WordPress 6.5 é uma grande atualização que facilita muito a extensão do editor e dos blocos. Na verdade, essa nova API foi usada para demonstrar como vincular os campos personalizados de um post a um bloco principal.

Um pouco mais avançado, também pode utilizar esta funcionalidade para personalizar blocos e obter dados de fontes especiais que tenha configurado.

Para uma análise aprofundada sobre como criar e utilizar ligações de blocos, consulte o blogue de programadores do WordPress noTutorial de introdução.

Como funciona a ligação por blocos?

delineado

Antes de nos aprofundarmos em como usar a API de vinculação de bloco para vincular a uma fonte de dados personalizada, explicaremos brevemente como essa API funciona. Em seguida, entraremos em mais detalhes sobre como vincular um bloco padrão a um campo personalizado em um artigo.

Segue-se um quadro que mostra os blocos que podem agora ser ligados e as suas propriedades:

WordPress 6.5 Nova funcionalidade: Detalhes do exemplo da API de ligação de blocos

Embora não existam muitos blocos e atributos que possam ser utilizados com esta nova funcionalidade neste momento, são suficientes para cobrir muitas necessidades comuns. No futuro, o plano é alargar esta funcionalidade a mais blocos principais e personalizados.

Para utilizar a ligação de blocos, terá de a configurar para dizer ao WordPress para utilizar etiquetas específicas para obter informações das fontes de dados que escolher. Uma vez configurado, quando exibido no front end da página, ele usará a lógica dessas fontes de dados para exibir o conteúdo.

Quando uma propriedade está ligada, não é possível alterá-la no editor, e o editor apresenta um sinalizador que indica que a propriedade já está ligada a uma fonte de dados.

WordPress 6.5 Nova funcionalidade: Detalhes do exemplo da API de ligação de blocos

Eis um exemplo de como tirar partido dele com suporte de campo personalizado incorporado.

Campos personalizados

Na primeira versão da API de Ligação de Blocos, não havia uma interface direta para ligar propriedades a campos personalizados. Isto significa que tens de ir manualmente ao editor de código do Gutenberg para adicionar código específico.

Se pretender ligar os atributos suportados aos campos personalizados do artigo, pode adicionar o código no seguinte formato:

<!-- wp:paragraph {

"metadata":{

"bindings":{

"content":{

"source":"core/post-meta",

"args":{

"key":"book-genre"

}

}

}

}

} -->

<p></p>

<!-- /wp:paragraph -->

Para que isto funcione, é necessário adicionar algum código ao ficheiro functions.php do seu tema ou a um plugin para que possa garantir que os seus campos personalizados foram registados com êxito nos metadados da publicação.

register_meta(

'post',

'book-genre'.

array(

'show_in_rest' => true,

'single' => true,

'type' => 'string', 'single' => true, 'type' => 'string', 'single' => true

'default' => 'Campo de texto padrão',

)

);

Não se esqueça de que, por segurança, é necessário remover temporariamente oshow_in_resté definida comoverdadeiro.

Mais fontes de dados para o futuro

O suporte a metadados de posts é apenas o primeiro passo. Planeamos adicionar mais fontes de dados no WordPress 6.6, como informações do site, informações do utilizador e classificados.

Além disso, a API de ligação de blocos permite-lhe registar as suas próprias fontes de dados neste momento, que é a mesma funcionalidade que utilizamos para registar metadados de artigos.

Registar uma fonte personalizada

delineado

Para criar uma nova fonte de dados ligada a um bloco, é necessário utilizar uma fonte de dados ligada a um bloco com o nomeregister_block_bindings_source()eis o seu formato básico:

register_block_bindings_source(

string $source_name,

array $source_properties

).

Para registar uma nova fonte de ligação de blocos, pode utilizar dois parâmetros:

  1. $nome_da_fonteEspaço de nomes: Este é o identificador único da sua fonte de dados personalizada e deve estar no formato "namespace/name". Lembre-se de que cada fonte de dados precisa de um espaço de nome exclusivo.
  2. $source_propertiesFonte de dados: Trata-se de uma matriz que define as caraterísticas da fonte de dados, incluindo:
    • etiquetaEtiqueta de texto: Trata-se de uma cadeia de texto que descreve a sua fonte de dados, embora atualmente esta etiqueta não seja visível na interface.
    • retorno_de_valorFunção PHP: É uma função ou closure PHP que será chamada quando a fonte de ligação do bloco precisar usar os dados.
    • usar_contexto(opcional): trata-se de uma matriz que especifica o que deve ser incluído se a sua fonte de dados exigir informações adicionais (por exemplo, o ID do artigo atual).

Quando o WordPress processa o bloco e encontra uma fonte de dados personalizada para carregar, ele chama a funçãoretorno_de_valorfunção. A função deve ser configurada da seguinte forma:

projectslug_bindings_callback(

array $source_args,

WP_Block $block_instance,

string $attribute_name

).

Utilização de mecanismos de registo

Na prática, pode utilizar as seguintes funções de registo para criar ligações simples para informações sobre direitos de autor:

add_action( 'init', 'projectslug_register_block_bindings' );

função projectslug_register_block_bindings() {

register_block_bindings_source( 'projectslug/copyright', array(

'label' => __( 'Copyright', 'projectslug' ),

'get_value_callback' => 'projectslug_copyright_binding'

) );

}

função projectlug_copyright_binding() {

return '© ' . date( 'Y' ); } function projectslug_copyright_binding() { return '© ' .

}

Eis um exemplo de como ligar um bloco de parágrafos a uma fonte de dados para informações sobre direitos de autor e mostra o seu aspeto no front end de um sítio Web:

<!-- wp:paragraph {

"metadata":{

"bindings":{

"content":{

"source":"projectslug/copyright"

}

}

}

} -->

<p>Bloco de direitos de autor</p>

<!-- /wp:paragraph -->
WordPress 6.5 Nova funcionalidade: Detalhes do exemplo da API de ligação de blocos

Naturalmente, este é apenas um exemplo básico. Pode utilizar outros parâmetros na função para criar uma funcionalidade mais complexa.
Outras funções API

Além disso, há uma série de outras funções que estão atualmente disponíveis ao público:

  • unregister_block_bindings_source($source_name)Utilizado para anular o registo de uma fonte de dados que já tenha sido definida.
  • get_all_registered_block_bindings_sources()Utilizado para obter uma lista de todas as fontes de dados registadas.
  • get_block_bindings_source($source_name)Utilizado para obter os detalhes de uma fonte de dados registada específica.

Note-se também que, embora as principais fontes de dados estejam disponíveis na interface de utilizador do editor, estas API para o editor são atualmente privadas. Isto significa que ainda estamos a discutir a forma de normalizar a utilização destas caraterísticas na interface do utilizador.

Assim, se pretender uma interface fácil de utilizar para o tratamento de campos personalizados, terá de ser o próprio utilizador a desenvolver esta funcionalidade.

Estudo mais aprofundado e próximas etapas

Quer inspirar-se mais na utilização de encadernações em bloco nos seus projectos? Dê uma olhadela noligações de blocos.phpO código de registo no ficheiro e o código integradonúcleo/pós-metafontes de dados, e não perca as nossas ligações de blocos!Série de tutoriais introdutórios.

A encadernação em bloco ainda está a dar os primeiros passos.No futuro, planeamosSão implementadas as seguintes funções:

  • Permite editar os valores dos metacampos diretamente na interface do utilizador.
  • Adicionar funcionalidade ao editor para permitir aos utilizadores adicionar facilmente ligações.
  • Introduziu novas fontes de dados incorporadas, incluindo dados de sítios, dados de artigos e dados de categorias.
  • Suporte alargado para mais blocos de base.
  • Fornece ferramentas para os programadores ampliarem a interface de utilizador do editor.

Os seus comentários são muito bem-vindos! Pode obter mais informações sobre nós emGithubou WordPress Slack para partilhar as suas ideias e casos de utilização connosco para nos ajudar a aperfeiçoar a API de ligação de blocos em conjunto.


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/6199/

Como (1)
Anterior 21 de março de 2024 às 2:03 p.m.
Seguinte 21 de março de 2024 pm6:07

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
Para facilitar o registo e o início de sessão de utilizadores globais, cancelámos a função de início de sessão por telefone. Se tiver problemas de início de sessão, contacte o serviço de apoio ao cliente para obter assistência na ligação do seu endereço de correio eletrónico.