WordPress 5.3 “Kirk” foi lançado oficialmente em 12 de novembro de 2019 e está disponível para download.

Então, o que mudou com o WordPress 5.3?

Em primeiro lugar e acima de tudo, um número enorme de versões do plugin Gutenberg foi fundido no núcleo, de 5.4 a 6.6. Isso significa que vamos ver um grande número de recursos e melhorias para usuários e desenvolvedores, bem como um aumento no desempenho.

Mas há muito mais do que Gutenberg no WordPress 5.3. De fato, esta versão apresenta várias melhorias relacionadas à Ferramenta Site Health, um novo tema padrão (Twenty Twenty), melhorias na Interface de Usuário Admin, melhor suporte ao PHP 7.4, melhor acessibilidade e mais.

Isso é um monte de coisas incríveis, certo? Por isso, vamos pôr o cinto de segurança e cavar mais fundo no WordPress 5.3.

O Que há de Novo com o Block Editor

Desde que foi lançado, o Editor de Blocos tem sido regularmente melhorado graças ao empenho de colaboradores de todo o mundo. No entanto, novas versões não são mescladas ao núcleo assim que estão disponíveis.

Com o 5.3, treze versões do plugin Gutenberg foram fundidas no núcleo de uma só vez. Assim, se não tem usado o plugin do Gutenberg até agora, e não o tem atualizado regularmente ao longo do tempo, encontrará muitas melhorias e novas funcionalidades no Block Editor com o lançamento do WordPress 5.3.

Foram igualmente comunicadas melhorias globais de desempenho. A seguinte referência compara o desempenho de um enorme post (36.000 palavras/1.000 blocos) com diferentes versões do plugin Gutenberg.

Você pode não notar a diferença no tempo de carregamento com posts regulares, mas é bastante clara a melhoria geral no desempenho do editor.

Versão Tempo de Carregamento Evento KeyPress (Digitação)
Gutenberg 6.6.0 4.7s 38.96ms
Gutenberg 6.5.0 4.68s 42.96ms
WordPress 5.2 5.69s 57.65ms

Seria difícil fazer uma lista completa de todas as adições, alterações e correções de bugs, então nós selecionamos aquelas com maior impacto na experiência do usuário/desenvolvedor e as agrupamos como segue:

Melhorias na Experiência de Edição

Se nunca instalou o plugin Gutenberg antes, encontrará um novo bloco: o bloco Grupo. Adicionado ao editor com o lançamento do Gutenberg 5.5, o bloco Grupo é um contentor multiusos para outros blocos, permitindo-lhe criar modelos de blocos avançados para serem incluídos em qualquer página do seu website WordPress.

O novo bloco de grupo suporta grandes alinhamentos e cores de fundo, dando aos usuários do WordPress muita liberdade ao criar conteúdo.

Além do bloco Grupo, demos uma olhada em dez melhorias no Editor de Blocos que devem ter um grande impacto na forma como você está usando o editor.

1. O Bloco Appender

Os blocos Grupo e Colunas mostram agora um bloco appender em estado vazio. O appender é apenas uma área cinza com um sinal de mais dentro que torna a interface do usuário mais clara e melhora a usabilidade do bloco.

Um bloco de grupo vazio no WordPress 5.3
Um bloco de grupo vazio no WordPress 5.3

2. Agrupamento de Blocos por Interação de Grupo

Agora você pode criar blocos de grupo por interação ‘grupo’, o que significa que você pode selecionar vários blocos e agrupá-los com apenas alguns cliques. Você só precisa adicionar todos os blocos que você precisa para a seleção, então clique em Grupo no menu elipse. Feito!

Criação de blocos por interação de grupo
Criação de blocos por interação de grupo

3. Personalizado com Colunas

O bloco Colunas suporta agora um controlo deslizante nas definições de Bloco, permitindo-lhe definir uma largura personalizada para cada coluna (numa versão futura, podemos esperar mais melhorias no bloco Colunas com a introdução de um controlo de redimensionamento arrastável).

O bloco Colunas no WordPress 5.3
O bloco Colunas no WordPress 5.3

4. Um Selecionador de Layout para Blocos de Colunas

Uma melhoria adicional do bloco Colunas no WordPress 5.3 é o selecionador de layouts. Adicionada ao editor com o Gutenberg 6.0, esta funcionalidade permite aos utilizadores escolher entre vários layouts (padrões) predefinidos ou saltar para o layout predefinido, acelerando um pouco o processo de edição e tornando o bloco mais fácil de usar para utilizadores com menos conhecimentos técnicos.

O selecionador de layout de bloco Colunas
O selecionador de layout de bloco Colunas

O selecionador de layout é uma implementação da API Block Patterns que fornece uma maneira de escolher entre um conjunto predefinido de opções para escolher ao adicionar um bloco. Para além do bloco Colunas, podemos encontrar exemplos de padrões de blocos em blocos Tabela e Cobertura. Você pode ler mais sobre a Block Patterns API no GitHub.

O padrão do bloco de cobertura
O padrão do bloco de cobertura

5. Melhorias no Bloco de Tabela

O bloco Tabela foi ampliado com várias características novas. Ele agora suporta alinhamentos de texto em colunas, cabeçalho e rodapé da tabela e cores de fundo.

O novo bloco de tabela suporta alinhamentos de texto, cabeçalho e rodapé e cores de fundo
O novo bloco de tabela suporta alinhamentos de texto, cabeçalho e rodapé e cores de fundo

6. Modo de Navegação de Bloco

O Gutenberg 6.3 introduziu o Modo de Navegação para navegar entre blocos usando as teclas Tab ou setas sem entrar no conteúdo dos blocos. Os utilizadores podem mudar do Modo de Navegação para o Modo de Edição e voltar apenas premindo Enter ou Esc. Esta característica é uma grande melhoria na usabilidade, especialmente quando se trata de leitores de tela.

7. Adicionado Movimento para Bloquear Alterações e Rearranjos

Uma melhoria adicional na usabilidade vem com a introdução do movimento para bloquear alterações, criação, remoção e reordenação. Matías Ventura explica porque é que esta característica é relevante:

Considere o caso de uma lista contendo um conjunto de itens: a ação de mover, reordenar, e assim por diante, não afeta apenas o único item que está sendo acionado, mas o resto do conjunto também, particularmente aquele que é “trocando lugares” com. A realidade nos transmite que, para colocar algo no lugar de outra coisa, ambas as coisas têm que se mover. A mudança no estado geral para todo o grupo pode ser mais difícil de entender, basta alterar a ordem instantaneamente. Demora um momento a reorientar. Transições e interações baseadas em gestos geralmente ajudam a conectar esses dois estados de uma forma que torna a interação (o “que acabou de acontecer”) mais imediatamente compreensível.

Movimento de bloco
Movimento de bloco

8. Reordenação de Imagens em Linha em Blocos de Galerias

O bloco Gallery foi melhorado com a reordenação de imagens em linha. Agora podemos reorganizar as imagens na galeria com um simples clique em Move image forward e Move image backward botões sem abrir a tela modal de mídia.

O bloco Gallery melhorado
O bloco Gallery melhorado

9. Melhorias no Bloco de Posts Mais Recentes

O bloco Latest Posts agora suporta iteração de conteúdo de trechos e posts (veja pull #14627).

O widget Posts mais recentes suporta conteúdo de trechos e posts
O widget Posts mais recentes suporta conteúdo de trechos e posts

O painel de configurações de bloco agora contém uma seção onde o usuário pode alternar entre conteúdo de postagem ligado/desligado. Se o Conteúdo da postagem estiver ativo, você pode escolher entre as opções Excerto e Postagem completa. Finalmente, um controle deslizante permite que você controle o comprimento do trecho se o Excerto for verificado.

Esta última alteração faz parte de uma estratégia mais ampla que se centra nas melhorias gerais do subsídio de desemprego. Em Iterações sobre o bloco “Últimos Posts”, Mel Choyce afirma:

Na preparação para trabalhar em modelos de páginas no Gutenberg, vamos querer um conjunto robusto de blocos dinâmicos que possam ser largados em qualquer post ou página. A expansão deste bloco colocar-nos-á em melhor posição para enfrentar blocos dinâmicos ou globais mais complexos no futuro.

Os usuários não devem ter que saber como escrever consultas personalizadas ou entender o loop para adicionar algumas mensagens à sua homepage. O bloco de Posts Recentes é um ótimo começo, mas para ser uma solução totalmente funcional, precisa suportar mais do que títulos e datas de postagem.

10. Listas de Ampliações de Bloco de Listas

Listas de blocos agora suportam atalhos de indentação/outtdent, valor inicial e suporte de ordem reversa para listas ordenadas.

Opções de lista ordenada no bloco Lista
Opções de lista ordenada no bloco Lista

Melhorias Adicionais no Editor de Blocos

Devido ao enorme número de versões de plugins do Gutenberg a fundirem-se no Core, há toneladas de alterações, melhorias e correcções de bugs que nem sequer conseguimos mencionar aqui. Algumas melhorias adicionais e novas funcionalidades incluem:

Recursos Interessantes para Desenvolvedores e Designers de Temas

O WordPress 5.3 adiciona muitos recursos e melhorias ao Block Editor para desenvolvedores e designers de temas também.

Três mudanças principais envolvem designers de temas e estão relacionadas ao CSS e HTML de vários blocos.

1. Grupo Block Block Inner Container

O bloco do grupo agora contém um recipiente interno (wp-block-group__inner-container) que pode se estender além do recipiente do bloco principal se não for cuidadosamente projetado. Isso pode levar a efeitos inesperados na aparência da página.

Agrupar bloco interno do container no Editor de Blocos
Agrupar bloco interno do container no Editor de Blocos

Portanto, com temas que suportam estilos de alinhamentos amplos e completos, um contêiner de bloco pode exigir algum CSS adicional para fazer com que pareça o esperado.

Agrupar o recipiente interno do bloco no local da frente
Agrupar o recipiente interno do bloco no local da frente

Aqui está um exemplo do blogue Make WordPress Core mostrando como estilizar blocos para evitar este tipo de problemas:

// Apply entry-content styles to the group block's inner container as well. 
.entry-content,
.wp-block-group__inner-container {
	width: 60vw;
	margin: 0 auto;
}
 
// When a group block has a wide alignment, make sure that its full-width children do not extend beyond the width of the container. 
.alignwide,
.wp-block-group.alignwide .alignfull {
	margin-left: -10vw;
	width: 80vw;
}
 
.alignfull {
	margin-left: -20vw;
	width: 100vw;
}
 
// Ensure wide and full-width children do not extend beyond the width of a standard-aligned Group block.
.wp-block-group:not(.alignwide):not(.alignfull) * {
	max-width: 100%;
	margin-left: 0;
}

2. Novos Nomes de Classe para Alinhamentos de Texto

Antes do WordPress 5.3, os estilos em linha eram utilizados para alterar o alinhamento de blocos de texto (Título, Parágrafo, Cotação e Verso).

A alta especificidade dos estilos inline pode dificultar a personalização da aparência desses blocos. Mas os designers de temas agora podem aproveitar as vantagens de três novas classes CSS substituindo estilos inline:

  • has-text-align-right
  • has-text-align-center
  • has-text-align-left

Os blocos existentes serão automaticamente convertidos e as classes aplicadas assim que as mensagens forem abertas e salvas no Editor de Blocos.

3. Atualização da Marcação de Blocos de Galeria e de Blocos de Tabela

Galeria e blocos de tabelas estão agora embrulhados em elementos de figure. Os estilos dos elementos mudam em conformidade e os temas podem ser afetados e podem exigir uma atualização. Aqui está a nova majoração para um bloco de tabela:

<figure class="wp-block-table is-style-stripes">
	<table class="">
		<tbody>
			<tr>
				<td>Left</td>
				<td>Center</td>
				<td>Right</td>
			</tr>
		</tbody>
	</table>
</figure>

Veja mais detalhes sobre nomes de classes e mudanças adicionais relacionadas a temas no blog Make WordPress Core.

Recursos para Desenvolvedores de Blocos

O WordPress 5.3 traz alterações e melhorias para as APIs de blocos.

1. Registrar e Desregistrar Estilos de Bloco de Registro

Antes da 5.3, desenvolvedores e designers tinham que escrever algum JavaScript para registrar/desregistrar estilos.

Com o lançamento do WordPress 5.3, podemos agora tirar vantagem de duas novas funções de ajuda que permitem registrar e desregistrar estilos de blocos via PHP: register_block_style e unregister_block_style.

A função register_block_style registra um novo estilo para o bloco especificado. A função mantém dois argumentos:

  • o nome do bloco.
  • um conjunto de propriedades de estilo.

O array pode incluir os seguintes parâmetros:

  • name: (obrigatório) um identificador único para o estilo.
  • label: (obrigatório) rótulo legível por pessoas.
  • inline_style: (opcional) um código CSS que regista a classe CSS para o estilo.
  • style_handle: (opcional) uma alça para um estilo já registrado (a alça de estilo enfileira o estilo onde ele é necessário).

Nós podemos registrar estilos inline com algo como o seguinte código:

add_action( 'init', 'register_custom_block_style' ); 

function register_custom_block_style() {
	if( ! function_exists( 'register_block_style' ) ) return;

	register_block_style(
		'core/quote',
		array(
			'name'			=> 'blue-quote',
			'label'			=> __( 'Blue Quote' ),
			'inline_style'	=> '.wp-block-quote.is-style-blue-quote { color: blue; }',
		)
	);
};

O novo estilo está agora disponível na secção de definições de Estilos.

Uma citação com um estilo personalizado no Editor de blocos
Uma citação com um estilo personalizado no Editor de blocos

Em vez de registar um estilo inline, podemos passar uma pega para um estilo previamente registado:

wp_register_style( 'custom-style', get_template_directory_uri() . '/custom-style.css' );
 
register_block_style(
	'core/quote',
	array(
		'name'			=> 'custom-quote',
		'label'			=> 'Custom Quote',
		'style_handle'	=> 'custom-style',
	)
);

A imagem seguinte mostra a citação azul registrada no exemplo acima.

Uma citação com um estilo personalizado no front end
Uma citação com um estilo personalizado no front end

Para cancelar o registro de um estilo previamente registrado no servidor com register_block_style, podemos usar a função unregister_block_style.

Nós podemos usar unregister_block_style como segue:

unregister_block_style( 'core/quote', 'custom-quote' );

2. Exemplo de Bloco API

O WordPress 5.3 adiciona uma nova propriedade JS que permite visualizar o bloco selecionado da biblioteca antes de adicioná-lo ao conteúdo.

Podemos adicionar suporte para esta funcionalidade definindo a propriedade de example nas definições de blocos da seguinte forma:

const blockSettings = {
	// ... 
 
	example: {
		attributes: { 
			content: __( 'Content of the block' )
		},
		innerBlocks: []
	} 
}
registerBlockType( name, settings );
Block Example API
Block Example API

Melhorias no Componente de Saúde do Local

O WordPress 5.2 introduziu a ferramenta Site Health para fornecer informações sobre a saúde de um site e para ajudar os administradores do site a recuperar seus sites quando tiverem dificuldades técnicas. Com o lançamento do WordPress 5.3 a ferramenta Site Health recebe várias melhorias e mudanças em ambos os lados do componente.

1. Removido Site Saúde Grading

No WordPress 5.2, uma pontuação percentual foi mostrada na parte superior da página de estado de saúde do site. No entanto, algumas pessoas expressaram algumas preocupações sobre a pontuação, considerando-a ambígua e confusa, porque os usuários podem tentar alcançar uma pontuação de 100% sobre o que é melhor para o seu site (leia mais neste bilhete).

Página de estado de saúde do site no WordPress 5.2
Página de estado de saúde do site no WordPress 5.2

O indicador mostra quantos testes um sítio passou, mas não o seu nível de “saúde”. Por esta razão, o percentual foi removido e a ferramenta Site Health agora mostra um dos dois estados que podem ser considerados mais como lembretes do que indicadores precisos de desempenho e segurança de um website:

  • Deve ser melhorado
  • Bom
Página de estado de saúde do site no WordPress 5.3
Página de estado de saúde do site no WordPress 5.3

2. Emails de Recuperação Aprimorados

Quando ocorre uma falha, o WordPress tenta enviar um e-mail de recuperação para o administrador do site. Infelizmente, esses e-mails não fornecem informações úteis para depuração, e estamos apenas informados de que algo deu errado com o nosso site.

Para fornecer informações mais úteis para restaurar seu site do WordPress, o WordPress 5.3 apresenta o filtro recovery_email_debug_info, que é uma matriz associada de informações de depuração. O e-mail de recuperação agora inclui as informações básicas que devem ajudá-lo a solucionar problemas do seu site ou, pelo menos, obter ajuda de outros.

Os e-mails de falha incluirão uma seção adicional começando com a seguinte string:

When seeking help with this issue, you may be asked for some of the following information:

Em seguida, são fornecidas as seguintes informações:

  • Versão WordPress.
  • Versão PHP.
  • Tema e versão atuais.
  • O nome e a versão do plugin que está causando o problema.

As informações são intencionalmente reduzidas ao mínimo para evitar confusão para os usuários finais, mas os desenvolvedores podem usar o filtro recovery_email_debug_info para adicionar mais detalhes quando necessário (veja ticket #48090 para mais informações).

3. Filtros para Testes Completos de Estado de Saúde do Local de Trabalho

O novo filtro site_status_test_result permite que os desenvolvedores filtrem a saída de um teste de status concluído para estender o resultado de um teste.

Os desenvolvedores também podem usar esse filtro para fornecer ações adicionais. Aqui está um grande exemplo de uso (veja o ticket #47864):

Um exemplo pode ser um provedor de hospedagem, as extensões PHP estão faltando, então elas adicionam um link ativo para o gerenciador de extensão PHP de seu painel de controle.
Talvez eles quisessem ser mais diretos, eles queriam a verificação da versão do PHP, que recomenda a atualização do usuário, eles adicionam um botão ajax que vai mudar a versão do PHP para eles no local.

Este filtro está disponível tanto em PHP, para testes diretos, quanto como implementação de JavaScript, para testes assíncronos.

Melhorias na Experiência Administrativa

Além da ferramenta Site Health Tool, o WordPress 5.3 traz várias melhorias na interface do usuário do administrador que devem melhorar consideravelmente a experiência geral de toda a área de trabalho do WordPress.

1. Contraste de cor Melhorado

O contraste de cores foi melhorado e muitos problemas de acessibilidade foram resolvidos.

Tela de postagens no WordPress 5.2
Tela de postagens no WordPress 5.2
Tela de postagens no WordPress 5.3
Tela de postagens no WordPress 5.3

2. Verificação de e-mail Administrativo

Uma verificação de e-mail de administrador agora dispara após um administrador não ter entrado em um período de tempo. Por padrão, esse intervalo é definido para seis meses, mas os desenvolvedores podem definir um intervalo diferente usando o filtro admin_email_check_interval (veja os tickets #46349 e #48144).

Verificação de e-mail do administrador do WordPress
Verificação de e-mail do administrador do WordPress

Para desativar as verificações de e-mail do administrador, você pode usar o seguinte filtro:

add_filter( 'admin_email_check_interval', '__return_false' );

3. Resumindo Uploads

Carregar grandes imagens a partir de um smartphone não vai quebrar as coisas no meio do processo, já que o WordPress agora suporta a retomada de uploads quando eles falham.

4. Rotação da Imagem

As imagens agora são giradas corretamente no upload de acordo com os metadados de orientação EXIF.

Um Novo Tema Predefinido: Twenty Twenty

O WordPress 5.3 vem com um novo tema padrão: Twenty Twenty. É um tema mínimo projetado para flexibilidade, clareza e legibilidade, com foco no Block Editor.

Twenty Twenty temas para WordPress
Twenty Twenty temas para WordPress

Twenty Twenty foi construído sobre um tema livre existente da comunidade, Chaplin de Andérs Noren, e apresenta um tipo de fonte livre e aberta com forte personalidade: Inter de Rasmus Andersson.

Você pode ler mais sobre o Twenty Twenty no nosso blog em profundidade: Twenty Twenty: Uma Introdução ao Novo Tema padrão do WordPress.

Alterações para Desenvolvedores do WordPress

O WordPress 5.3 vem com várias mudanças e melhorias para desenvolvedores do WordPress. Entre as muitas mudanças, pensamos que vale a pena mencioná-las:

Melhorias no Componente Principal Data/Hora

O componente central Data/Hora lida com tudo o que está relacionado a data, hora e fusos horários no WordPress. Como Andrey “Rarst” Savchenko explica:

O componente Data/Hora se baseou no chamado “registro de data e hora do WordPress” – uma soma do registro de data e hora do Unix com uma compensação de fuso horário. Isso estava causando muitos bugs e falta de interoperabilidade com o PHP upstream ou qualquer sistema externo. Documentação em linha erroneamente chamada de timestamps Unix.

Embora fosse impossível remover completamente os timestamps do WordPress sem problemas de compatibilidade retroativa, o código do componente foi melhorado com várias correções de bugs, e a documentação inline foi atualizada e corrigida onde necessário.

Além disso, com o lançamento do WordPress 5.3 temos acesso a várias novas funções API Date/Time:

  • wp_timezone_string() – Esta função recupera o fuso horário do site como string. Ele pode retornar uma string de fuso horário PHP ou um offset ±HHH:MM.
  • wp_timezone() – Esta função recupera o fuso horário do site como objeto DateTimeZone.
  • wp_date() – Esta é uma nova função para localização de datas. Pretende-se substituir date_i18n().
  • current_datetime() – Esta função recupera a hora atual como objeto DateTimeImmutable com o fuso horário das configurações.
  • get_post_datetime() – Obtém o objeto DateTimeImmutable da hora do post.
  • get_post_timestamp() – Obtém o tempo de postagem como timestamp do Unix.

Todas estas funções são definidas e documentadas em wp-includes/functions.php.

O uso de current_time(), get_post_time() e date_i18n() é agora desencorajado.

Veja também melhorias nos componentes Data/Hora no WordPress 5.3 e Novas funções para adicionar à API no GitHub.

Novo Atributo aria-corrente

Quando uma nova página ou publicação é publicada, seu nome aparece em vários menus e widgets. Antes do WordPress 5.3, muitos usuários não teriam reconhecido esse link e isso poderia ser confuso especialmente para usuários com deficiência e/ou usuários de leitores de tela.

Com o lançamento do WordPress 5.3, um novo atributo aria-current="page" é adicionado programaticamente para apontar links para a mesma página e os desenvolvedores de temas são encorajados a adicionar estilos específicos a esses links. Esta alteração afeta os seguintes widgets principais:

  • Posts recentes.
  • Menu de navegação.
  • Páginas.
  • Categoria.
  • Arquivos.

Aqui está um exemplo de uso:

a[aria-current] {
	/* CSS styles for current link */
}

Novos Atributos de Etiqueta aria nos Menus de Navegação

Landmarks fornecem uma maneira poderosa de identificar a organização e a estrutura de uma página web” e permitem que os desenvolvedores de temas adicionem suporte para navegação por teclado em páginas web usando funções de landmark.

Os pontos de referência ARIA fornecem um contexto para o conteúdo da web e são particularmente úteis para usuários de tecnologia de assistência.

Devido à importância do ARIA Landmarks para a acessibilidade, o WordPress 5.3 agora adiciona suporte para atributos de aria-label na navegação de posts e comentários.

Desenvolvedores e designers de temas podem adicionar pontos de referência ARIA aos menus de navegação de posts e comentários adicionando um novo parâmetro aria_label às seguintes funções:

  • _navigation_markup()
  • get_the_post_navigation()
  • get_the_posts_navigation()
  • get_the_posts_pagination()
  • get_the_comments_navigation()
  • get_the_comments_pagination()
  • the_post_navigation()
  • the_posts_navigation()
  • the_posts_pagination()
  • the_comments_navigation()
  • the_comments_pagination()

Leia mais sobre os atributos dos rótulos aria em posts e navegação de comentários em Make WordPress Core.

Funções para Adicionar Valor UGC aos Atributos rel nos Links

Em setembro de 2019, a Google anunciou dois novos atributos que fornecem uma forma de identificar a natureza dos links: rel="sponsored" e rel="ugc":

rel=”ugc”: UGC significa Conteúdo Gerado pelo Usuário, e o valor do atributo ugc é recomendado para links dentro do conteúdo gerado pelo usuário, como comentários e postagens no fórum.

O WordPress 5.3 adiciona suporte para o atributo rel="ugc" nos comentários. Essa mudança foi implementada em poucas horas e é interessante ver como a equipe de desenvolvimento reagiu rapidamente ao anúncio do Google (veja o ticket #48022).

Além disso, o WordPress 5.3 introduz duas novas funções que permitem aos desenvolvedores adicionar valores nofollow e ugc aos atributos rel nos links:

  • wp_rel_callback() é usado para adicionar valores aos atributos rel aos links especificados, e substitui a função wp_rel_nofollow_callback() agora depreciada.
    A função é definida emwp-includes/formatting.php:
    /**
    	 * Callback to add a rel attribute to HTML A element.
    	 *
    	 * Will remove already existing string before adding to prevent invalidating (X)HTML.
    	 *
    	 * @since 5.3.0
    	 *
    	 * @param array  $matches Single match.
    	 * @param string $rel     The rel attribute to add.
    	 * @return string HTML A element with the added rel attribute.
    	 */
    	function wp_rel_callback( $matches, $rel ) {}
  • wp_rel_ugc() adicionarnofollow eugc valores rel atributos nos links.
    A função é definida em wp-includes/formatting.php:
    /**
    		 * Adds `rel="nofollow ugc"` string to all HTML A elements in content.
    		 *
    		 * @since 5.3.0
    		 *
    		 * @param string $text Content that may contain HTML A elements.
    		 * @return string Converted content.
    		 */
    		function wp_rel_ugc( $text ) {
    			// This is a pre-save filter, so text is already escaped.
    			$text = stripslashes( $text );
    			$text = preg_replace_callback(
    				'||i',
    				function( $matches ) {
    					return wp_rel_callback( $matches, 'nofollow ugc' );
    				},
    				$text
    			);
    			return wp_slash( $text );
    		}

Assim, a partir de agora, os desenvolvedores podem adicionar o atributo rel="nofollow ugc" aos links da seguinte forma:

$link = 'User generated link example';
$ugc_link = wp_rel_ugc( $link );
echo $ugc_link;
// output: User generated link example

A API REST no WordPress 5.3

O WordPress 5.3 traz várias alterações e melhorias para a API REST.

Uma das alterações mais relevantes é o suporte a tipos de dados 'object' e 'array' para funções register_meta.

Com esse aprimoramento, a API REST agora suporta nativamente tipos de metadados complexos. Isso nos permite usar a API para realizar a validação baseada em esquema e poderia simplificar a interação do código do cliente com valores complexos e, finalmente, permite que os desenvolvedores criem blocos complexos metabaseados via API REST.

Para uma visão mais aprofundada deste tópico, veja WP 5.3 Suporta Object e Array Meta Types na API REST

Uma segunda melhoria significativa afeta o parâmetro _fields que permite limitar os campos incluídos nos objetos JSON retornados da API REST. Veja o seguinte exemplo:

/wp/v2/posts?_fields=id,title,author

Desde o WordPress 5.3, o parâmetro _fields pode ser usado para filtrar o objeto de resposta da API REST por campos aninhados, para que possamos solicitar meta campos específicos ou propriedades dentro de um objeto complexo. Podemos usar o parâmetro _field da seguinte forma:

?_fields=meta.meta-key-1,meta.meta-key-2,meta.meta-key-3.nested-prop

Para uma visão geral mais abrangente das melhorias da API REST que vêm com o WordPress 5.3, consulte A API REST no WordPress 5.3.

Como Atualizar para o WordPress 5.3

O WordPress 5.3 foi lançado em 12 de novembro de 2019. Você pode seguir as instruções abaixo sobre como atualizar seu site.

Uma vez que cada site do cliente é diferente, você deve sempre utilizar o ambiente de teste padrão fornecido pela Kinsta (ou adicionar um novo ambiente de teste Premium se a versão existente já estiver em uso). Você pode clonar seu site ao vivo em questão de segundos e depois testar o WordPress 5.3 com seu tema existente e plugins para verificar a compatibilidade. É claro que você também pode fazer um backup manual antes de atualizar seu site ao vivo, só por segurança.

Para atualizar o WordPress para 5.3 basta clicar no ícone de atualizações no seu painel de administração do WordPress. E clique no botão “Atualizar agora”. Enquanto seu site estiver sendo atualizado, ele estará em modo de manutenção. Assim que suas atualizações estiverem completas, seu site voltará ao normal.

Atualização para o WordPress 5.2 no painel
Atualização para o WordPress 5.2 no painel

Desde que tudo corra bem com a atualização, deverá então ver o ecrã “Bem-vindo ao WordPress 5.3”. E é tudo! Rápido e fácil.

Tela de boas-vindas do WordPress 5.3
Tela de boas-vindas do WordPress 5.3

Depois de clicar no painel de controle, você também receberá uma mensagem para atualizar seu banco de dados para a versão mais recente. Basta clicar no botão “Update WordPress Database” e você está pronto para ir.

Atualização do banco de dados necessária
Atualização do banco de dados necessária

Solucionar Problemas com a Atualização do WordPress

Sempre que as pessoas atualizam uma versão principal do WordPress, há sempre alguns que experimentam problemas, e isso se deve aos milhares de plugins e temas diferentes que coexistem atualmente no mercado. Aqui estão algumas maneiras de resolver problemas comuns.

  • O seu site ainda pode estar parcialmente em cache. Você pode resolver isso limpando o cache de página inteira em seu site do WordPress.
  • Tente desativar todos os seus plugins para ver se isso corrige seu problema. Em seguida, reativá-los um por um até que você encontre qual plugin pode precisar de uma atualização do desenvolvedor.
  • Tente mudar para um tema padrão do WordPress, como Twenty Twenty. Se isso corrigir o seu problema, você pode querer entrar em contato com o desenvolvedor do tema.
  • Solucione problemas e faça diagnósticos JavaScript issues no seu navegador.

Resumo

Nós curamos os recursos e melhorias mais empolgantes do WordPress 5.3.

Com treze versões do plugin Gutenberg fundidas no núcleo, várias melhorias na Site Health Tool, um novo tema por defeito, melhorias na interface de administração, novas funções e funcionalidades para programadores e designers de temas, melhor suporte para o PHP 7.4, e um número incrível de pequenas alterações, correcções de bugs e depreciações, o WordPress 5.3 define um marco importante na evolução do CMS.

Quais são seus recursos/melhoramentos favoritos? Perdemos alguma coisa importante? Partilhe as suas ideias connosco na secção de comentários.

Carlo Daniele Kinsta

Carlo is a passionate lover of webdesign and front-end development. He has been playing with WordPress for more than 20 years, also in collaboration with Italian and European universities and educational institutions. He has written hundreds of articles and guides about WordPress, published both on Italian and international websites, as well as on printed magazines. You can find him on LinkedIn.