GenerateBlocks 2.0, plugin de blocos

 
Gerar blocos 2.0

Em 12 de fevereiro, foi lançada a versão final do GenerateBlocks 2.0 (GB), após um longo ciclo que começou em 24 de novembro de 2024 com a sua primeira versão alfa.1, que tenho vindo a testar desde o início.

A versão 2.0 é uma daquelas que esconde grandes melhorias "debaixo do capot" para manter os sítios bem optimizados. A versão 2.0 permite-lhe manter os blocos da versão 1.0 ou mesmo voltar a eles, se necessário.

Embora ainda estejam a afinar o desempenho final e a usabilidade seja ainda a sua tarefa inacabada, com uma curva de aprendizagem acentuada, uma vez que parecem ainda não ter encontrado o equilíbrio "visual" das configurações de blocos, isto é compensado por um apoio impecável e uma documentação muito completa.

Este plugin de blocos, criado por Tom Usborne, é muito jovem. Tem pouco mais de dois anos. A sua versão 1.0 foi lançada em 30 de agosto de 2022.

Isso não impediu que, juntamente com o GeneratePress (GP), se tornasse a combinação ideal para conceber e/ou construir parte ou quase todo o seu design WordPress, uma vez que oferece um código limpo, leve e rápido. Até hoje, continua a ser escolhido por um grande número de utilizadores do WordPress, desde bloguistas de "nicho" a bloguistas caseiros.

Devemos insistir que o GenerateBlocks não é um construtor, como o Elementor ou outros chamados "Site Builders", embora possa ser utilizado como tal, é uma abordagem diferente que não tem nada a ver com o tradicional "arrastar e largar". Trata-se de um plugin de blocos.

Se há uma coisa que é justo avaliar e aplaudir no GB+GP, é o seu apoio. Eles compreenderam muito bem os seus utilizadores e acertaram em cheio no que diz respeito ao serviço ao cliente. No seu fórum de apoio pode resolver quase tudo.

Ajudam-no mesmo com questões que nem sempre estão relacionadas com erros ou dúvidas sobre a utilização, também ajudam quando se trata de construir ou redesenhar coisas específicas. Sempre com um tratamento amigável e resoluto. E o melhor é que todas estas questões, discussões e soluções podem ser consultadas por qualquer pessoa, mesmo que não utilize as suas versões pagas.

Só isto já vale cada dólar que paga pelo seu modelo e pelo plugin de blocos.

Deixo aqui, como lembrete e "reconsulta" para o futuro, um exemplo de uma solução (e não é a primeira) de uma destas consultas no vosso fórum de suporte que me permitiu traduzir algumas strings dinamicamente. Eram as últimas a serem traduzidas e estavam a resistir.

Muito provavelmente, para alguém com conhecimentos de programação, é como coçar o nariz, mas para os técnicos avançados com conhecimentos básicos, como eu, é uma verdadeira dádiva.

Traduzir texto de um bloco GenerateBlocks "Texto" utilizando Polylang

O plugin Polylang permite-lhe registar cade ias de caracteres para adicionar as respectivas traduções onde quiser. Para o fazer, basta adicionar as sequências de caracteres da seguinte forma ao ficheiro functions.php do tema :

pll_register_string('Publicado:', 'Published:');

pll_register_string('Actualizado:', 'Updated:');

Assim, já aparecerão para tradução num grupo chamado Polylang em Línguas/traduções:

GenerateBlocks 2.0, plugin de blocos 1

Mas isto não é suficiente, agora tem de invocar cada uma destas traduções com código PHP para as apresentar.

A missão é traduzir dinamicamente para cada língua as cadeias de caracteres Published: e Updated: que adicionei na altura num elemento GP com um bloco "Text" GB 2.0 (anteriormente designado "Headline").

Structure of the GB Text block

Publicado: {{post_date}} | Actualizado: {{post_date type:modified}} |
GenerateBlocks 2.0, plugin de blocos 2

O problema é que não consegui encontrar uma forma de adicionar as chamadas PHP Polylang para substituir essas duas palavras consoante a língua em que a página é apresentada:

<?php echo pll__('Published:'); ?>
<?php echo pll__('Updated:'); ?>

O bloco GB não executa código PHP e não havia possibilidade de o inserir com um shortcode. Nesta altura, declarei-me incapaz de encontrar uma solução e decidi consultar o fórum de apoio.

E depois de algumas mensagens, a solução chegou.

1. É adicionada uma classe CSS ao bloco "Text". Para este exemplo, utilizamos: my-post-dates

2- Este filtro é adicionado no ficheiro functions.php do modelo:

add_filter( 'render_block', function( $block_content, $block ) {
    if (  ! empty( $block['attrs']['className'] ) && 'my-post-dates' ===  $block['attrs']['className'] )  {
		
             $published = pll__('Published:');	
             $updated = pll__('Updated:');

            // Ensure these values are translated, fallback to default if empty
             $translated_published = !empty($published) ? $published : 'Published:';
             $translated_updated = !empty($updated) ? $updated : 'Updated:';

	     $block_content = str_replace('Publicado', $published, $block_content);
             $block_content = str_replace('Actualizado', $updated, $block_content);
     }

      return $block_content;
}, 10, 2 );

E já está. Agora, essas duas palavras serão apresentadas na língua selecionada de entre as que está a utilizar.

Esta publicação contém dois links de afiliados.

Suscríbete para recibir los post en tu email sin publicidad

Artigos relacionados

Este blog se aloja en LucusHost

LucusHost, el mejor hosting