
12. februára bola vydaná finálna verzia GenerateBlocks 2.0 (GB) po dlhom cykle, ktorý začal 24. novembra 2024 prvou verziou alpha.1, ktorú som od začiatku testoval.
Verzia 2.0 je jednou z tých, ktoré "pod kapotou" skrývajú veľké vylepšenia, aby boli stránky dobre optimalizované. Verzia 2.0 umožňuje zachovať bloky verzie 1.0 alebo sa k nim dokonca vrátiť, ak to potrebujete.
Hoci ešte stále dolaďujú konečný výkon a použiteľnosť je stále ich nedokončenou záležitosťou, so strmou krivkou učenia, pretože sa zdá, že ešte nenašli "vizuálnu" rovnováhu konfigurácií blokov, je to kompenzované dokonalou podporou a veľmi kompletnou dokumentáciou.
Tento blokový doplnok, ktorý vytvoril Tom Usborne, je veľmi mladý. Je starý niečo vyše dvoch rokov. Jeho verzia 1.0 bola vydaná 30. augusta 2022.
To mu však nebráni v tom, aby sa spolu s GeneratePress (GP) stal ideálnou kombináciou na navrhovanie a/alebo vytváranie časti alebo takmer celého dizajnu WordPress, pretože ponúka čistý, ľahký a rýchly kód. Dodnes si ho vyberá veľké množstvo používateľov WordPress, od "niche" až po domácich blogerov.
Musíme zdôrazniť, že GenerateBlocks nie je builder, ako Elementor alebo iné takzvané "Site Builders", hoci sa dá použiť ako taký, je to iný prístup, ktorý nemá nič spoločné s tradičným "drag and drop". Je to zásuvný modul pre bloky.
Ak je niečo, čo je spravodlivé zhodnotiť a pochváliť na GB+GP, tak je to ich podpora. Svojim používateľom veľmi dobre rozumejú a v oblasti služieb zákazníkom udreli klinec po hlavičke. Z ich fóra podpory môžete vyriešiť takmer všetko.
Pomôžu vám aj s problémami, ktoré nie vždy súvisia s chybami alebo pochybnosťami o používaní, ale aj pri budovaní alebo prepracovaní konkrétnych vecí. Vždy s priateľským a rozhodným prístupom. A najlepšie je, že všetky tieto otázky, diskusie a riešenia môže konzultovať ktokoľvek, aj keď nepoužíva ich platené verzie.
Už len toto stojí za každý dolár, ktorý zaplatíte za šablónu a blokový plugin.
Ako pripomienku a "prekonzultovanie" do budúcnosti tu nechávam príklad riešenia (a nie je prvý) jedného z týchto dotazov na vašom fóre podpory, ktorý mi umožnil dynamicky preložiť niektoré reťazce. Boli to posledné, ktoré sa mali preložiť, a vzdorovali.
Pre niekoho so znalosťami programovania je to pravdepodobne ako škrabanie sa na nose, ale pre pokročilých majstrov so základnými znalosťami, ako som ja, je to skutočný dar.
Preklad textu z bloku GenerateBlocks "Text" pomocou jazyka Polylang
Zásuvný modul Polylang vám umožňuje registrovať reťazce a pridávať ich príslušné preklady, kamkoľvek chcete. Na tento účel stačí pridať reťazce takto do súboru functions.php témy:
pll_register_string('Publicado:', 'Published:');
pll_register_string('Actualizado:', 'Updated:');
Preto sa už zobrazia na preklad v skupine s názvom Polylang v časti Jazyky/preklady:

To však nestačí, teraz musíte každý z týchto prekladov vyvolať pomocou kódu PHP, aby sa zobrazil.
Úlohou je dynamicky preložiť do každého jazyka reťazce Publikované: a Aktualizované:, ktoré som v tom čase pridal do prvku GP s blokom GB 2.0 "Text" (predtým nazývaným "Nadpis").
Structure of the GB Text block
Publicado: {{post_date}} | Actualizado: {{post_date type:modified}} |

Problémom je, že som nenašiel spôsob, ako pridať volania jazyka PHP Polylang na nahradenie týchto dvoch slov v závislosti od jazyka, v ktorom sa stránka zobrazuje:
<?php echo pll__('Published:'); ?>
<?php echo pll__('Updated:'); ?>
Blok GB nevykonáva kód PHP a nebolo možné ho vložiť pomocou skratky. V tomto momente som vyhlásil, že nie som schopný nájsť riešenie a rozhodol som sa poradiť s fórom podpory.
A po niekoľkých správach prišlo riešenie.
1. Do bloku "Text" sa pridá trieda CSS. Pre tento príklad použijeme: my-post-dates

2 - Tento filter je pridaný do súboru functions.php šablóny:
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 );
A to je všetko. Teraz sa tieto dve slová zobrazia v jazyku, ktorý ste vybrali z tých, ktoré používate.
Tento príspevok obsahuje dva partnerské odkazy.