
2024年11月24日の最初のアルファ1バージョンから始まった長いサイクルを経て、2月12日にGenerateBlocks 2.0(GB)の最終バージョンがリリースされた。
バージョン2.0は、サイトの最適化を維持するために「ボンネットの下」に大きな改良が隠されています。バージョン2.0では、バージョン1.0のブロックを維持することも、必要に応じて戻すこともできます。
最終的なパフォーマンスや使い勝手はまだ微調整中で、ブロック構成の「視覚的」なバランスはまだ見つけられていないようで、学習曲線は険しいが、非の打ちどころのないサポートと非常に充実したドキュメントがそれを補っている。
トム・アズボーンによって作られたこのブロックプラグインは非常に若い。ちょうど2年以上前のものだ。1.0バージョンは2022年8月30日にリリースされた。
GeneratePress(GP)は、クリーンで軽量かつ高速なコードを提供するため、GeneratePress(GP)と共に、WordPressデザインの一部またはほとんどすべてをデザインおよび/または構築するための理想的なコンボとなることを妨げませんでした。今日に至るまで、「ニッチ」からホームブロガーまで、多くのWordPressユーザーに選ばれています。
GenerateBlocksは、Elementorや他のいわゆる「サイトビルダー」のようなビルダーではない。ブロックプラグインなのです。
GB+GPについて公平に評価し、拍手を送りたいことがあるとすれば、それは彼らのサポートだ。彼らはユーザーをよく理解しており、カスタマーサービスに関しては正鵠を射ている。彼らのサポートフォーラムでは、ほとんど何でも解決できます。
エラーや使用方法に関する疑問だけでなく、特定のものを作ったりデザインし直したりする際にも、彼らは助けてくれる。常に親切で毅然とした対応で。そして最も良いことは、これらの質問、議論、解決策はすべて、たとえ有料版を使用していなくても、誰でも相談できるということです。
これだけでも、テンプレートとブロック・プラグインを購入する価値がある。
サポートフォーラムで、いくつかの文字列を動的に翻訳することができました。その文字列は翻訳される最後のもので、抵抗していました。
おそらく、プログラミングの知識がある人にとっては鼻を掻くようなものだろうが、私のような基本的な知識を持つ上級者にとっては本当の贈り物だ。
Polylangを使ってGenerateBlocksの "Text "ブロックからテキストを翻訳する
Polylangプラグインでは、 文字列を登録することで、対応する翻訳を好きな場所に追加することができます。これを行うには、テーマのfunctions.phpに以下のような文字列を追加するだけです:
pll_register_string('Publicado:', 'Published:');
pll_register_string('Actualizado:', 'Updated:');
従って、それらはすでに言語/翻訳の下にあるPolylangというグループに翻訳用に表示されます:

しかし、これだけでは不十分で、それぞれの翻訳を表示するためにPHPコードで呼び出さなければならない。
ミッションは、GB 2.0の "Text "ブロック(以前は "Headline "と呼ばれていた)を持つGP要素に当時追加したPublished:とUpdated:の文字列を各言語に動的に翻訳することです。
Structure of the GB Text block
Publicado: {{post_date}} | Actualizado: {{post_date type:modified}} |

問題は、ページが表示される言語に応じてこの2つの単語を置き換えるPHPポリランコールを追加する方法が見つからなかったことだ:
<?php echo pll__('Published:'); ?>
<?php echo pll__('Updated:'); ?>
GBブロックはPHPコードを実行せず、ショートコードで入れる可能性はなかった。この時点で、私は解決策を見つけることができないと宣言し、サポートフォーラムに相談することにしました。
そして数通のメッセージの後、解決策が届いた。
1.テキスト」ブロックにCSSクラスを追加します。この例では、my-post-datesを使用します。

2-このフィルターはテンプレートのfunctions.phpに追加されます:
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 );
それで終わりです。これで、これらの2つの単語が、あなたが使用している言語から選択された言語で表示されます。
この記事には2つのアフィリエイトリンクが含まれています。