
Il 12 febbraio è stata rilasciata la versione finale di GenerateBlocks 2.0 (GB) dopo un lungo ciclo iniziato il 24 novembre 2024 con la prima versione alpha.1, che ho testato fin dall'inizio.
La versione 2.0 è una di quelle che nasconde grandi miglioramenti "sotto il cofano" per mantenere i siti ben ottimizzati. La versione 2.0 consente di mantenere i blocchi della versione 1.0 o addirittura di tornare ad essi se necessario.
Sebbene stiano ancora perfezionando le prestazioni finali e l'usabilità sia ancora il loro lavoro incompiuto, con una curva di apprendimento ripida poiché non sembrano aver ancora trovato l'equilibrio "visivo" delle configurazioni dei blocchi, questo è compensato da un supporto impeccabile e da una documentazione molto completa.
Questo plugin a blocchi, creato da Tom Usborne, è molto giovane. Ha poco più di due anni. La sua versione 1.0 è stata rilasciata il 30 agosto 2022.
Questo non gli ha impedito di diventare, insieme a GeneratePress (GP), la combinazione ideale per progettare e/o realizzare parte o quasi tutto il design di WordPress, in quanto offre un codice pulito, leggero e veloce. Ancora oggi è scelto da un gran numero di utenti di WordPress, dai blogger di "nicchia" a quelli casalinghi.
Dobbiamo insistere sul fatto che GenerateBlocks non è un costruttore, come Elementor o altri cosiddetti "Site Builders", anche se può essere usato come tale, ma è un approccio diverso che non ha nulla a che fare con il tradizionale "drag and drop". È un plugin per blocchi.
Se c'è una cosa che è giusto recensire e applaudire di GB+GP, è il suo supporto. Hanno capito molto bene i loro utenti e hanno fatto centro quando si tratta di assistenza clienti. Dal loro forum di supporto è possibile risolvere quasi tutto.
Vi aiutano anche con problemi che non sempre sono legati a errori o dubbi sull'utilizzo, ma anche quando si tratta di costruire o riprogettare cose specifiche. Sempre con un trattamento amichevole e risoluto. E la cosa migliore è che tutte queste domande, discussioni e soluzioni possono essere consultate da chiunque, anche se non utilizza le versioni a pagamento.
Questo vale da solo ogni dollaro pagato per il template e il plugin di blocco.
Lascio qui, come promemoria e "riconsultazione" per il futuro, un esempio di soluzione (e non è la prima) di una di queste richieste nel vostro forum di supporto che mi ha permesso di tradurre alcune stringhe dinamicamente. Erano le ultime da tradurre e resistevano.
Probabilmente per chi ha conoscenze di programmazione è come grattarsi il naso, ma per gli smanettatori avanzati con conoscenze di base, come me, è un vero regalo.
Tradurre il testo di un blocco "Testo" di GenerateBlocks utilizzando Polylang
Il plugin Polylang consente di registrare stringhe per aggiungere le traduzioni corrispondenti ovunque si voglia. Per farlo è sufficiente aggiungere le stringhe in questo modo al file functions.php del tema :
pll_register_string('Publicado:', 'Published:');
pll_register_string('Actualizado:', 'Updated:');
Pertanto, appariranno già per la traduzione in un gruppo chiamato Polylang sotto Lingue/traduzioni:

Ma questo non basta, ora bisogna richiamare ciascuna di queste traduzioni con il codice PHP per visualizzarle.
La missione è quella di tradurre dinamicamente in ogni lingua le stringhe Pubblicato: e Aggiornato: che ho aggiunto a suo tempo in un elemento GP con un blocco "Testo" GB 2.0 (precedentemente chiamato "Titolo").
Structure of the GB Text block
Publicado: {{post_date}} | Actualizado: {{post_date type:modified}} |

Il problema è che non sono riuscito a trovare un modo per aggiungere le chiamate PHP Polylang per sostituire queste due parole a seconda della lingua in cui viene visualizzata la pagina:
<?php echo pll__('Published:'); ?>
<?php echo pll__('Updated:'); ?>
Il blocco GB non esegue codice PHP e non c'era la possibilità di inserirlo con uno shortcode. A questo punto mi sono dichiarato incapace di trovare una soluzione e ho deciso di consultare il forum di supporto.
E dopo qualche messaggio è arrivata la soluzione.
1. Si aggiunge una classe CSS al blocco "Testo". Per questo esempio utilizziamo: my-post-dates

2- Questo filtro viene aggiunto nel file functions.php del template:
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 questo è quanto. Ora le due parole saranno visualizzate nella lingua selezionata tra quelle in uso.
Questo post contiene due link di affiliazione.