O WordPress 6.9 está chegando e mal podemos esperar para usar alguns dos muitos recursos incríveis que serão incluídos na versão mais recente do CMS mais popular do mundo.

De forma geral, as principais áreas aprimoradas no WordPress 6.9 incluem o seguinte:

  • Novos blocos padrões (Acordeão, Matemática e outros) para maior flexibilidade na criação de conteúdo.
  • Grandes aprimoramentos no editor, tornando a experiência de criação ainda mais fluida e intuitiva.
  • Novas APIs de desenvolvedor, como a API Abilities, atualizações da API de interatividade e da API Block Bindings, além de outras atualizações adicionais programadas para a versão 6.9.
  • Aprimoramentos nos fluxos de trabalho e na colaboração com Notas, opção de visibilidade de blocos e expansão da paleta de comandos.

Essas atualizações garantem uma experiência melhor para todos. Os usuários do WordPress desfrutarão de ferramentas de edição e colaboração mais poderosas, enquanto os desenvolvedores se beneficiarão de recursos de integração mais avançados, graças a um conjunto aprimorado de APIs.

Há muito o que abordar, então vamos explorar os novos recursos que chegam com o WordPress 6.9 e que mais nos empolgaram.

Novos blocos padrões

Seguindo essa discussão no GitHub, o WordPress 6.9 apresenta seis novos blocos nativos, expandindo os recursos criativos do editor e eliminando a necessidade de instalar plugins adicionais. Entre eles estão: Acordeão, Consulta de termos, Tempo de leitura, Matemática, Contagem de comentários e Link dos comentários.

Durante anos, os colaboradores debateram se os novos blocos deveriam estar no núcleo ou permanecer no território dos plugins. O WordPress 6.9 segue um caminho prático. Nas palavras de Mathias Ventura:

Acho que não ter esses blocos na biblioteca principal limita muito a expressividade da qual os criadores de temas (e os usuários) podem depender para criar ótimos designs e pode prejudicar a experiência geral, forçando as pessoas a optarem por bibliotecas de blocos mais equipadas ou a desistirem completamente se planejarem lançar algo mais amplo.

Agora, vamos analisar mais de perto cada um dos novos blocos incorporados ao core com o WordPress 6.9.

Acordeão

O tão aguardado bloco Acordeão finalmente está chegando ao núcleo. Ele não é um bloco único, mas sim uma estrutura de blocos aninhados que você pode explorar facilmente no Inspetor de Blocos.

A estrutura do bloco Acordeão no editor de artigos.
A estrutura do bloco Acordeão no editor de artigos.

Cada bloco Acordeão consiste nos seguintes blocos internos:

  • Acordeão: o contêiner para itens Acordeão aninhados.
  • Item do acordeão: é o elemento diretamente aninhado e consiste em um cabeçalho e um painel.
  • Título do acordeão: um título clicável que abre e fecha um painel.
  • Painel de acordeão: esse painel contém o conteúdo do item Acordeão e pode incluir qualquer tipo de bloco.
Um bloco Acordeão no editor de código.
Um bloco Acordeão no editor de código.

O bloco tem um estilo minimalista, mas o excelente guia de Justin Tadlock, “Styling accordions in WordPress 6.9“, fornece o conhecimento essencial para você personalizar a aparência dos seus acordeões.

Confira os PRs #64119, #71222 e #71388 para obter detalhes completos sobre o novo bloco Acordeão.

Consulta de termos

O WordPress 6.9 apresenta um novo bloco de Consulta de termos. Semelhante ao bloco Consulta, ele exibe termos em vez de artigos. Esse novo bloco é, na verdade, um modelo de termos que contém categorias com um nome de termo e uma contagem de termos.

Estrutura do bloco Consulta de termos
Estrutura do bloco Consulta de termos

O bloco Consulta de termos vem com várias opções de configuração. Você pode definir a taxonomia, classificar os itens da lista, especificar os itens selecionados e optar por mostrar ou ocultar termos vazios ou aninhados. Você também pode definir o número de termos a serem mostrados.

Configurações do bloco de consulta de termos.
Configurações do bloco de consulta de termos.

O modelo de termo tem dois modos de exibição: Lista e Grade. A visualização de grade permite que você personalize a posição dos elementos da grade e o número de colunas.

Consulta de termos na visualização em grade
O bloco Termos de consulta tem dois modos, Lista e Grade.

Você também pode alterar as tags dos elementos do bloco. Por exemplo, você pode usar um elemento h2 para o bloco Nome do Termo. Você também pode inserir blocos entre os elementos do bloco Consulta de termos. A imagem abaixo mostra um bloco Separador entre as linhas.

Personalização do bloco Consulta de termos.
Personalização do bloco Consulta de termos.

Para saber mais sobre o bloco Consulta de termos, consulte o PR nº 70720 e a edição nº 49094.

Tempo de leitura

Como o nome sugere, o bloco Tempo de leitura exibe o tempo de leitura do artigo ou da página atual. O bloco possui dois modos, Tempo de leitura e Contagem de palavras, além de uma opção para exibir o tempo de leitura como um intervalo ou um valor específico.

O bloco Tempo de Leitura.
O bloco Tempo de Leitura.
O bloco Tempo de Leitura no modo Contagem de Palavras.
O bloco Tempo de Leitura no modo Contagem de Palavras.

Matemática

O bloco Matemática permite que você insira fórmulas matemáticas em seu conteúdo. Basta escrever suas fórmulas na sintaxe LaTeX e elas serão convertidas nos símbolos matemáticos correspondentes.

Pré-visualização do bloco Math.
O bloco Matemática permite que você insira fórmulas matemáticas em artigos e páginas.

Também é possível inserir fórmulas inline.

Adicionando elementos de matemática no WordPress 6.9.
Adicionando elementos matemáticos no WordPress 6.9.

Link dos comentários e Contagem de comentários

Os blocos Link dos comentários e Contagem de comentários não são mais marcados como experimentais. Agora, ambos os blocos estão disponíveis para uso no Editor do Site e no Editor de Artigos.

Melhorias em blocos existentes

O WordPress 6.9 apresenta pequenas e grandes atualizações em vários blocos, melhorando sua funcionalidade e/ou usabilidade.

Correção do problema de preenchimento de background no bloco Título

Um problema de especificidade CSS com o preenchimento de background do bloco Título foi corrigido no WordPress 6.9. Antes dessa versão, os estilos de preenchimento aplicados ao bloco Título afetavam outros blocos que usavam títulos, como o bloco Acordeão.

Graças ao uso da pseudoclasse :where(), o seletor CSS para títulos que utilizam background se tornou mais específico, conforme descrito nas notas do desenvolvedor.

h1, h2, h3, h4, h5, h6 {
	&:where(.wp-block-heading).has-background {
		padding: ...;
	}
}

Se um tema usar a classe .has-background com elementos de cabeçalho que não sejam blocos Título, esses elementos não recebem mais o preenchimento padrão de background.

Elemento HTML selecionável para os blocos Botões e Separador

Para melhorar a acessibilidade, agora você pode selecionar os elementos HTML dos blocos Botões e Separador.

Para o bloco Botões, você pode escolher entre <a> e <button> nas configurações avançadas do bloco.

Configurações avançadas do bloco Botões.
Configurações avançadas do bloco Botões.

Para o bloco Separador, você pode escolher entre <hr> e <div>.

Configurações avançadas do bloco Separador.
Configurações avançadas do bloco Separador.

Seletor tagName para o bloco Conteúdo do artigo

A partir do WordPress 6.9, você pode selecionar o wrapper semanticamente apropriado para o bloco Conteúdo do artigo. Você pode escolher entre <main>, <section> ou <article>.

Opção de elemento HTML para o bloco Conteúdo do artigo.
Opção de elemento HTML para o bloco Conteúdo do artigo.

Ícones de link personalizados para links sociais

Um novo filtro block_core_social_link_get_services agora permite que os desenvolvedores adicionem ícones de link personalizados ao bloco Links Sociais usando variações de bloco. Essa adição oferece mais opções de personalização e elimina a necessidade de o core gerenciar uma lista extensa de serviços.

Você pode encontrar os detalhes técnicos e o código para registrar uma variação de Link Social no PR #70261. A imagem a seguir mostra o resultado no editor de artigos.

Um ícone de link personalizado no WordPress 6.9.
Um ícone de link personalizado no WordPress 6.9.

Classificação por ordem de menu no bloco Loop de consulta

Além de ordenar por título e data, agora é possível ordenar tipos de artigo que suportam atributos de página no bloco Loop de consulta por ordem de menu. Para testar esse novo recurso, crie várias páginas e use Quick Edit para editar cada uma delas.

Altere a ordem do menu na tela Páginas.
Altere a ordem do menu na tela Páginas.

Você também pode alterar a ordem dos itens de menu editando cada página individualmente. Na barra lateral da página à esquerda, clique no botão de ação (os três pontos no canto superior direito). Em seguida, selecione Order. Você verá uma janela pop-up com um campo numérico para definir a ordem do menu.

Selecionar ordem de menu no menu Actions.
Selecionar ordem de menu no menu de ações.
Alterar a ordem do menu.
Alterar a ordem do menu.

Após definir a ordem das páginas, crie uma nova página e adicione um bloco Loop de consulta. Selecione Páginas como o tipo de artigo e ordene por Ordem de menu.

O valor menu_order está disponível para todos os tipos de artigo no banco de dados; no entanto, você precisa registrar o suporte para o recurso page-attributes para tornar essa configuração disponível para seus tipos de artigos personalizados.

Para obter mais informações sobre esse recurso, consulte o PR #68781.

Atualizações no bloco de navegação

O bloco de navegação passou por várias atualizações. Aqui está uma lista rápida das principais:

Um novo botão Criar página foi adicionado à interface do usuário do link do bloco Link de navegação. Essa atualização inclui a opção de publicar a página imediatamente.

Criar página na interface do usuário do link do bloco Navigation Link
Criar página na interface do usuário do link do bloco Navigation Link
Opção Publicar imediatamente
Opção Publicar imediatamente

Essa funcionalidade também está disponível no bloco Botões, mesmo quando ele está incluído no Menu de Navegação.

Comando Criar página na interface do usuário do link do bloco Botões.
Comando Criar página na interface do usuário do link do bloco Botões.

Graças à API Block Bindings, o atributo de URL do bloco Link de navegação é atualizado dinamicamente quando a URL original é alterada, desde que o link seja para uma entidade, como uma página ou um artigo.

URL do link sincronizado
URL do link sincronizado

Uma nova opção de alternância na barra lateral de configurações do bloco Link de navegação agora permite que os usuários configurem os links de navegação para serem abertos em uma nova guia. Anteriormente, a opção Abrir em nova guia só estava disponível no link modal do menu de contexto. Com essa adição, a opção é mais fácil de localizar, pois está posicionada ao lado de todas as outras configurações na barra lateral.

Opção “Abrir em nova guia” na interface do usuário do link do bloco “ Link de navegação”.
Opção “Abrir em nova guia” na interface do usuário do link do bloco “ Link de navegação”.

Agora também é possível definir um background transparente para o bloco Menu de Navegação diretamente na interface do editor. Antes do WordPress 6.9, era preciso usar CSS personalizado para conseguir esse efeito.

Variações dos blocos Título redimensionável e Parágrafo redimensionável

Os blocos Título redimensionável e Parágrafo redimensionável são duas novas variações que redimensionam automaticamente o texto para que ele se ajuste à largura total do contêiner.

Você pode inserir as duas variações de duas maneiras diferentes: diretamente no inseridor de blocos ou no menu suspenso da barra de ferramentas do bloco Título e Parágrafo.

Variações do bloco Título redimensionável e Parágrafo redimensionável.
Variações do bloco Título redimensionável e Parágrafo redimensionável.
Transformar em parágrafo redimensionável.
Transformar em parágrafo redimensionável.

Suporte a poster image no bloco Cobertura

Graças a um novo componente poster-image, o bloco Cobertura agora oferece suporte a imagens de pôster. Isso é particularmente útil para vídeos grandes e para usuários com conexões lentas, melhorando a experiência do usuário.

Agora que exploramos as principais adições e melhorias dos blocos padrões, vamos examinar como o WordPress 6.9 facilita a colaboração da equipe na criação de conteúdo, adaptada às responsabilidades individuais. Esta versão apresenta dois recursos poderosos que melhorarão significativamente a colaboração e os fluxos de trabalho no editor: Notas e visibilidade.

Blocos de comentários com anotações no WordPress 6.9

Agora você pode adicionar notas a blocos no editor de artigos. Esse recurso possibilita a colaboração assíncrona entre os membros da equipe, permitindo que você acompanhe as atividades e simplifique os fluxos de trabalho editoriais.

Como esse recurso é específico do editor de artigos, os usuários precisam ter o recurso edit_posts daquele artigo para adicionar notas. Isso significa que:

  • Os usuários conectados com a função Admin ou Editor podem visualizar todas as notas em todos os artigos.
  • Os autores e colaboradores podem visualizar e editar as notas que criaram.
  • Os assinantes não podem visualizar as notas.

Para adicionar uma nova nota, clique no botão Adicionar nota na barra de ferramentas do bloco.

Um novo item Adicionar nota aparece no menu de Opções da barra de ferramentas do bloco.
Um novo item Adicionar nota aparece no menu de Opções da barra de ferramentas do bloco.

Isso exibe uma nova barra lateral de Notas e um painel de notas para você adicionar sua nota.

Adicionando uma nota a um bloco no WordPress 6.9.
Adicionando uma nota a um bloco no WordPress 6.9.

Você pode ativar/desativar a barra lateral de Notas clicando no botão Todas as notas que aparece depois que você adiciona sua primeira nota.

Controle de todas as notas na barra de ferramentas de configurações do editor.
Controle de todas as notas na barra de ferramentas de configurações do editor.

As notas podem ser resolvidas, modificadas ou excluídas.

Editar nota no WordPress 6.9.
Editar nota no WordPress 6.9.

As notas são ativadas por padrão para artigos e páginas, mas você também pode ativá-las para seus tipos de artigos personalizados graças ao novo suporte notes. Aqui está um exemplo simples de como você pode adicionar suporte a Notas para um tipo de artigo personalizado:

register_post_type( 'book', array(
	'label' => 'Books',
	'public' => true,
	'show_in_rest' => true,
	'supports' => array(
		'title',
		'editor' => array( 'notes' => true ),
		'author',
		'excerpt',
	),
) );

Adicionar suporte a notas ao registrar um tipo de artigo personalizado é bastante simples. No entanto, adicionar suporte a notas a um tipo de artigo existente é um pouco mais complicado. Felizmente, os desenvolvedores principais já estão trabalhando para simplificar o processo e podemos esperar atualizações desse recurso em futuras versões do WordPress.

Tecnicamente, as notas são comentários e são armazenadas na tabela wp_comments com o campo comment_type definido como note. Para acessar as notas programaticamente a partir de um plugin, use a função get_comments() da seguinte forma:

$args = array(
	'post_id' => $post_id,
	'type'    => 'note',
);
$notes = get_comments( $args );

Observe que, ao tentar recuperar notas a partir de um plugin, é necessário especificar o tipo note porque comentários do tipo note são excluídos dos resultados da consulta por padrão.

Quando um usuário adiciona uma nota a um bloco, o autor do artigo recebe um e-mail de notificação. Esses e-mails são ativados por padrão, mas podem ser desativados no painel WordPress se você navegar até Configurações > Discussão > Envie-me um e-mail sempre que desejar e desmarcar a nova opção Qualquer pessoa publica uma nota.

Configurações de notificação por e-mail no WordPress 6.9.
Configurações de notificação por e-mail no WordPress 6.9.

Os desenvolvedores podem controlar essas notificações de forma programática usando o filtro notify_post_author.

Observe que esta é a versão inicial do recurso de notas. A equipe de desenvolvimento já está trabalhando na próxima iteração para o WordPress 7.0.

Além disso, no WordPress 6.9, as anotações só estão disponíveis no nível do bloco. As anotações em linha devem ser implementadas em iterações futuras.

Consulte as notas do desenvolvedor e a iteração Comentários em blocos do WordPress 6.9 para obter uma análise mais detalhada dos novos recursos de Notas com vários exemplos de código.

Controle de visibilidade do bloco

O WordPress 6.9 apresenta uma nova API de bloco e uma nova interface para controlar a visibilidade de blocos no frontend e no editor.

Esse recurso é útil para ocultar blocos que ainda não estão prontos para serem exibidos e complementa perfeitamente o novo recurso de Notas. Agora, as equipes podem colaborar na criação de páginas e finalizar seções somente quando elas estiverem completas e aprovadas.

Para testar o novo recurso, crie um novo artigo ou página e adicione um ou mais blocos ou padrões. Em seguida, oculte o bloco ou o padrão no menu suspenso em Configurações de bloco ou Exibição de lista e verifique o efeito no editor e no frontend.

Ocultando blocos no WordPress 6.9.
Ocultando blocos no WordPress 6.9.
O novo controle de visibilidade de blocos.
O novo controle de visibilidade de blocos.

Paleta de comandos ampliada para o painel WordPress

A paleta de comandos agora está disponível no editor do site e no painel WordPress (Ctrl+K ou Command+K) para tornar a navegação mais fácil e rápida. Digite na paleta para pesquisar, navegar no painel ou executar ações diretamente. Por exemplo, ao digitar “adicionar”, você verá um menu de ações, como Adicionar artigo, Adicionar arquivo de mídia, Adicionar usuário e muito mais.

A paleta de comandos na tela de artigos.
A paleta de comandos na tela de artigos.

Diversas propostas já foram feitas para ampliar e aprimorar a paleta de comandos e novos comandos serão adicionados no futuro. Acompanhe a conversa na edição Visão geral da paleta de comandos para se manter atualizado.

O que há de novo para os desenvolvedores

Agora, vamos passar para a parte do WordPress 6.9 que os desenvolvedores acharão mais interessante. Um novo conjunto de APIs agora permite que os desenvolvedores tornem seus plugins acessíveis aos sistemas de IA. Mas isso não é tudo! O WordPress 6.9 também traz muitos aprimoramentos para as APIs existentes, incluindo a API de interatividade, API Block Bindings e API DataViews.

Vamos explorar os novos recursos em detalhes.

API Abilities

O WordPress 6.9 apresenta a API Abilities, uma nova interface funcional que fornece um registro padronizado, permitindo que plugins, temas e o núcleo do WordPress exponham seus recursos em formatos legíveis por humanos e máquinas.

Esse registro centralizado é onde todas as funcionalidades podem ser formalmente registradas para descoberta, validação e execução de forma consistente via PHP, APIs REST e soluções de IA.

A nova API Abilities beneficia diretamente os usuários do WordPress, permitindo que serviços externos, como assistentes de IA, aplicativos externos e recursos de interface do usuário, como a paleta de comandos, entendam e executem ações do WordPress (por exemplo, publicação ou edição) de forma padronizada.

Quais são os benefícios disso para os desenvolvedores?

O primeiro benefício é a clareza: uma habilidade é um recurso registrado com uma descrição, entrada e saída.

O segundo aspecto essencial da nova API é a padronização. A API garante que os comandos sejam formulados e compreendidos de forma consistente, independentemente do ambiente. Pode ser o painel WordPress, o editor de blocos, um aplicativo externo acessado por meio da API REST ou um assistente de IA.

Outro aspecto importante é a automação do fluxo de trabalho. Com a API Abilities, você pode criar sequências de operações, permitindo que os desenvolvedores criem fluxos de trabalho automatizados e complexos.

Os desenvolvedores podem usar a API Abilities para várias finalidades, incluindo a extensão da funcionalidade da paleta de comandos, a criação de fluxos de trabalho automatizados e muito mais.

Uma vez registradas, as habilidades tornam-se acessíveis aos sistemas de IA, como o ChatGPT e o Gemini:

A API gerencia o registro e as permissões, enquanto os adaptadores de protocolo os traduzem em formatos que os sistemas de IA externos entendem. Isso estabelece uma conexão robusta entre a funcionalidade do WordPress e os assistentes de IA, com a API primária servindo como a fonte definitiva para a lógica exposta.

Uma ability é “uma unidade de funcionalidade autocontida com entradas, saídas, permissões e lógica de execução definidas”.

A API fornece um conjunto de funções que permite gerenciar todos os aspectos de Abilities e Ability Categories. Ela também oferece novos endpoints de REST API, actions e filter hooks.

Para registrar uma nova ability, a API fornece a nova action wp_abilities_api_init e a função wp_register_ability. Aqui está a assinatura da função:

wp_register_ability( string $name, array $args ): ?WP_Ability

wp_register_ability aceita os seguintes parâmetros:

  • $name (string) é um identificador exclusivo para a ability
  • $args (array) é um array de argumentos

A função retorna uma instância de WP_Ability se o registro for bem-sucedido e null em caso de falha.

Veja a seguir um exemplo de como registrar uma Ability, extraído da documentação:

add_action( 'wp_abilities_api_init', 'my_plugin_register_site_info_ability' );
function my_plugin_register_site_info_ability() {
	wp_register_ability( 'my-plugin/get-site-info', array(
		'label' => __( 'Get Site Information', 'my-plugin' ),
		'description' => __( 'Retrieves basic information about the WordPress site including name, description, and URL.', 'my-plugin' ),
		'category' => 'data-retrieval',
		'output_schema' => array(
			'type' => 'object',
			'properties' => array(
				'name' => array(
					'type' => 'string',
					'description' => 'Site name'
				),
				'description' => array(
					'type' => 'string',
					'description' => 'Site tagline'
				),
				'url' => array(
					'type' => 'string',
					'format' => 'uri',
					'description' => 'Site URL'
				)
			)
		),
		'execute_callback' => function() {
			return array(
				'name' => get_bloginfo( 'name' ),
				'description' => get_bloginfo( 'description' ),
				'url' => home_url()
			);
		},
		'permission_callback' => '__return_true',
		'meta' => array(
			'annotations' => array(
				'readonly' => true,
				'destructive' => false
			),
		),
	));
}

Veja o que esse código faz:

  • wp_abilities_api_init é a ação a ser vinculada ao registrar uma nova Ability, garantindo que a API Abilities esteja totalmente inicializada antes do registro.
  • wp_register_ability é a função que registra uma nova ability. O primeiro argumento é o identificador exclusivo (my-plugin/get-site-info); e o segundo argumento é um array de configurações.
  • label é um rótulo legível por humanos a ser usado na interface do usuário (por exemplo, a paleta de comandos).
  • description é a descrição da ability.
  • category é a categoria da ability.
  • output_schema define os dados retornados pela ability.
  • execute_callback é executado quando a ability é chamada.
  • permission_callback verifica permissões.
  • meta contém metadados opcionais.

Os desenvolvedores encontrarão mais detalhes, com muitos exemplos de código, nos seguintes recursos:

Melhorias na API Block Bindings

O WordPress 6.9 introduziu vários aprimoramentos na API Block Bindings.

Primeiro, o suporte à API Block Bindings foi ampliado para incluir outros blocos.

  • O bloco Data agora aceita qualquer data, independentemente da data de publicação ou atualização do artigo. Isso foi possível graças à inclusão da nova fonte de dados core/post-data. Você pode testar adicionando um bloco Data a um artigo e atribuindo a ele uma data personalizada. Em seguida, adicione outro bloco Data e selecione a variação Data do post. Em seguida, altere a data de publicação, salve o artigo e verifique as diferenças. Para obter detalhes técnicos, consulte o PR #70585.
  • O WordPress 6.9 também adiciona suporte ao atributo de legenda do bloco Imagem em substituições de padrão.

A interface do usuário do editor foi aprimorada para mostrar diferentes fontes de vinculação de blocos. Os usuários podem alternar entre as fontes de dados e vincular ou desvincular atributos com apenas alguns cliques (veja a imagem abaixo).

O WordPress 6.9 também apresenta algumas mudanças interessantes para os desenvolvedores.

Um novo filtro block_bindings_supported_attributes_{$block_type} foi adicionado à API para uso no lado do servidor. Esse filtro permite que você especifique quais atributos de bloco podem ser conectados a uma fonte de dados personalizada.

No lado do cliente, agora você pode registrar fontes personalizadas usando o método getFieldsList na função de registro de fonte.

As notas de desenvolvimento fornecem um valioso bloco de código que você pode copiar e colar no console do navegador para visualizar a interface de usuário aprimorada da vinculação de blocos.

A imagem a seguir mostra o novo seletor de fonte para um bloco de parágrafo.

A interface de usuário de vinculação de blocos no WordPress 6.9.
A interface de usuário de vinculação de blocos no WordPress 6.9.

Aprimoramentos em DataViews e DataForm

As APIs DataViews e DataForm oferecem uma maneira moderna e padronizada de visualizar e gerenciar dados estruturados, como listas de artigos, páginas ou mídia.

As duas APIs têm finalidades diferentes.

  • A API DataViews foi projetada para que você visualize e navegue pelos dados. Ela permite que você crie exibições, incluindo tabelas, grades e listas. Você também pode pesquisar, filtrar e classificar dados com ela.
  • A API DataForm foi projetada para modificar os elementos de um conjunto de dados.
Um exemplo de DataViews: Exibição de páginas em layout de lista no Editor do site.
Um exemplo de DataViews: Exibição de páginas em layout de lista no Editor do site.

Com o WordPress 6.9, essas duas APIs receberam vários aprimoramentos. A seguir, você encontrará uma lista das principais adições:

  • DataViews ganham novos campos, controles e operadores. Entre as várias adições, você encontrará novas definições de tipo de campo de mídia, booleano, e-mail e array, novos controles de edição checkbox e toggleGroup, novos operadores de filtro e muito mais.
  • O sistema de validação foi totalmente reformulado. Todos os campos agora suportam a regra required e elements, bem como a definição de validação personalizada por meio da função personalizada.
  • Além do tipo de campo datetime, os DataViews agora suportam o tipo de campo date. Isso permite que você exiba itens com base apenas na data. Essa adição também permite que você filtre por data usando o novo componente Calendar.
  • A nova versão também adiciona os componentes DateCalendar e DateRangeCalendar.
  • O layout da tabela foi aprimorado ainda mais. Agora é possível selecionar vários itens usando Control/⌘ + clique.
  • A nova propriedade groupByField permite que você agrupe visualmente os dados com base nos valores dos campos, facilitando a organização dos dados. Esse recurso está disponível para layouts de grade e tabela.
  • O WordPress 6.9 também apresenta melhorias de desempenho para DataViews. Antes da versão 6.9, o componente FeaturedImageView usado nos DataViews carregava imagens em tamanho real. Isso significava que os sites com muitas imagens de visualização grandes tinham que carregar vários megabytes de imagens. A partir da versão 6.9, no entanto, o layout da grade usa imagens responsivas, o que melhora significativamente o desempenho do backend para sites que usam um grande número de imagens.

Outras alterações dignas de nota nas DataViews incluem:

  • Introdução de filtros bloqueados que permitem visualizar os efeitos dos filtros sem modificá-los. Isso é útil para visualizações pré-configuradas.
  • Um novo controle de edição foi implementado para o campo date.
  • O estado vazio das DataViews agora pode ser personalizado, permitindo que você personalize a mensagem ou forneça um node React para personalização adicional.

Para obter uma lista completa de adições e alterações nas APIs DataViews e DataForm, consulte as notas de desenvolvimento e os PRs nº 70567 e nº 70578.

Aprimoramentos na API de interatividade

Como o nome sugere, a API de interatividade permite que os desenvolvedores criem blocos interativos que reagem em tempo real às interações do usuário. Em resumo, essa é uma ferramenta para criar experiências de usuário avançadas e tornar os sites atraentes, dinâmicos e envolventes.

Introduzida pela primeira vez no WordPress 6.5, a API de interatividade recebe atualizações significativas nesta versão. Abaixo estão algumas das adições mais interessantes.

Adição de IDs às diretivas da API de interatividade

Agora você pode adicionar IDs às diretivas da API de interatividade. Esse recurso é útil porque permite que você contorne a limitação de não poder usar vários atributos com o mesmo nome no mesmo elemento HTML.

Para atribuir uma ID a uma diretiva, acrescente um traço triplo (---) seguido da ID, como no exemplo a seguir:

<div
	data-wp-watch---my-unique-id="callbacks.firstWatch"
	data-wp-watch---another-id="callbacks.secondWatch"
></div>

Carregando módulos de script e folhas de estilo (stylesheets)

Essa alteração permite uma navegação no lado do cliente mais abrangente e fluida. O WordPress agora substitui as folhas de estilo e carrega os módulos de script “após” a navegação no lado do cliente. Isso tem implicações significativas.

  • O novo algoritmo reutiliza folhas de estilo compartilhadas com páginas anteriores, carrega novas folhas não presentes nessas páginas e desativa as não utilizadas. Isso minimiza as solicitações de rede.
  • Os módulos de script também são gerenciados com mais eficiência graças às novas definições do importmap.
  • Por fim, o fetching pré-carrega todas as folhas de estilo e módulos de script que ainda não foram pré-carregados.

Regiões de roteamento dentro de elementos interativos

Outra novidade é o suporte a regiões de roteamento dentro de elementos interativos. Antes, a região de roteamento, a área da página que é atualizada quando o usuário clica em um link, precisava ser um elemento interativo principal. Isso significava que o conteúdo não era atualizado quando essa região estava posicionada dentro de outro elemento interativo. O WordPress 6.9 muda isso, permitindo que desenvolvedores coloquem regiões de roteamento dentro de elementos interativos.

Nova propriedade attachTo para regiões de roteamento

As regiões de roteamento agora aceitam uma nova propriedade attachTo que pode ser definida dentro da propriedade data-wp-router-region directive. Graças a essa nova propriedade, a região de roteamento agora pode ser renderizada mesmo quando não estiver presente na página inicial. O valor de attachTo precisa ser um seletor CSS que aponte para o elemento principal no qual a região de roteamento será injetada. Aqui está um exemplo das notas do desenvolvedor:

<div
	data-wp-interactive="example"
	data-wp-router-region='{ "id": "example/region", "attachTo": "body" }'
>
	I'm in a new region!
</div>

Sincronização de getServerState e getServerContext

As funções getServerState() e getServerContext() foram aprimoradas. Agora, quando essas funções rastreiam um valor que não é alterado durante a navegação no lado do cliente, os valores são redefinidos. Além disso, somente as propriedades da página atual são preservadas, enquanto as das páginas anteriores são removidas.

Para obter uma introdução mais detalhada dos aprimoramentos da API de interatividade com exemplos de código, consulte Aprimoramentos na navegação do cliente da API de interatividade no WordPress 6.9 e Alterações na API de interatividade no WordPress 6.9.

Para obter uma visão completa da API de interatividade, consulte nosso guia detalhado.

Atualizações adicionais para desenvolvedores

O WordPress 6.9 apresenta uma variedade de atualizações para os desenvolvedores. Aqui está uma lista rápida de notas de desenvolvimento:

Olhando para o futuro: do WordPress 6.9 para o 7.0

O WordPress 6.9 apresenta atualizações significativas no editor de blocos, APIs e fluxos de trabalho colaborativos, atualizações que continuarão evoluindo na versão 7.0. À medida que a plataforma se torna mais dinâmica e mais integrada a ferramentas orientadas por IA, ter uma hospedagem com desempenho avançado se torna cada vez mais importante. Se você está se preparando para a versão 6.9 ou planejando o que está por vir, explore os planos da Kinsta para impulsionar seus projetos WordPress com confiança.

Carlo Daniele Kinsta

Carlo é um apaixonado por webdesign e desenvolvimento frontend. Ele tem mais de 10 anos de experiência com WordPress e colaborou com diversas universidades e instituições educacionais na Itália e na Europa. Carlo já publicou inúmeros artigos e guias sobre WordPress, tanto em sites italianos quanto internacionais, além de revistas impressas. Você pode seguir ele no LinkedIn e no X.