GenerateBlocks 2.0, плагин для блоков

 
GenerateBlocks 2.0

12 февраля вышла финальная версия GenerateBlocks 2.0 (GB) после долгого цикла, начавшегося 24 ноября 2024 года с первой версии alpha.1, которую я тестировал с самого начала.

Версия 2.0 - одна из тех, что скрывает "под капотом" значительные улучшения для оптимизации сайтов. Версия 2.0 позволяет сохранить блоки версии 1.0 или даже вернуться к ним, если это необходимо.

Хотя они все еще дорабатывают окончательную производительность и удобство использования - это еще их незаконченное дело, с крутой кривой обучения, поскольку они, кажется, еще не нашли "визуальный" баланс конфигураций блоков, это компенсируется безупречной поддержкой и очень полной документацией.

Этот блок-плагин, созданный Томом Усборном, очень молод. Ему чуть больше двух лет. Его версия 1.0 была выпущена 30 августа 2022 года.

Это не помешало ему вместе с GeneratePress (GP) стать идеальным комбо для разработки и/или создания части или почти всего дизайна WordPress, поскольку он предлагает чистый, легкий и быстрый код. И по сей день его выбирает большое количество пользователей WordPress, от "нишевых" до домашних блоггеров.

Мы должны настаивать на том, что GenerateBlocks - это не конструктор, как Elementor или другие так называемые "конструкторы сайтов", хотя он может быть использован как таковой, это другой подход, который не имеет ничего общего с традиционным "перетаскиванием". Это плагин для создания блоков.

Если и есть что-то, за что можно справедливо похвалить GB+GP, так это их поддержка. Они очень хорошо поняли своих пользователей и попали в точку, когда дело доходит до обслуживания клиентов. На их форуме поддержки вы можете решить практически любую проблему.

Они помогут вам даже в тех вопросах, которые не всегда связаны с ошибками или сомнениями в использовании, они также помогают, когда речь идет о создании или перепроектировании конкретных вещей. Всегда дружелюбно и решительно. И самое приятное, что все эти вопросы, обсуждения и решения могут быть доступны любому, даже если он не использует платные версии.

Одно это стоит каждого доллара, который вы заплатите за шаблон и плагин блока.

В качестве напоминания и "рекогносцировки" на будущее оставляю здесь пример решения (и не первого) одного из таких запросов на вашем форуме поддержки, который позволил мне динамически перевести несколько строк. Их нужно было перевести последними, и они сопротивлялись.

Скорее всего, для человека, разбирающегося в программировании, это все равно что почесать нос, но для продвинутых мастеров с базовыми знаниями, вроде меня, это настоящий подарок.

Перевод текста из блока GenerateBlocks "Text" с помощью Polylang

Плагин Polylang позволяет регистрировать строки, чтобы добавлять соответствующие им переводы куда угодно. Для этого просто добавьте строки в functions.php темы в таком виде :

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

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

Таким образом, они уже будут отображаться для перевода в группе под названием Polylang в разделе Языки/переводы:

GenerateBlocks 2.0, плагин для блоков 1

Но этого недостаточно, теперь нужно вызвать каждый из этих переводов с помощью PHP-кода, чтобы отобразить их.

Задача состоит в том, чтобы динамически переводить на каждый язык строки Published: и Updated:, которые я в свое время добавил в GP-элемент с блоком GB 2.0 "Текст" (ранее называвшимся "Заголовок").

Structure of the GB Text block

Publicado: {{post_date}} | Actualizado: {{post_date type:modified}} |
GenerateBlocks 2.0, плагин для блоков 2

Проблема в том, что я не смог найти способ добавить вызовы PHP Polylang для замены этих двух слов в зависимости от языка, на котором отображается страница:

<?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 );

Вот и все. Теперь эти два слова будут отображаться на языке, выбранном из используемых вами.

Этот пост содержит две партнерские ссылки.

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

Похожие статьи

Este blog se aloja en LucusHost

LucusHost, el mejor hosting