
في 12 فبراير تم إصدار الإصدار النهائي من GenerateBlocks 2.0 (GB) في 12 فبراير بعد دورة طويلة بدأت في 24 نوفمبر 2024 مع الإصدار الأول من الإصدار alpha.1، والذي كنت أختبره منذ البداية.
الإصدار 2.0 هو أحد تلك الإصدارات التي تخفي تحسينات رائعة "تحت غطاء المحرك" للحفاظ على تحسين المواقع بشكل جيد. يسمح لك الإصدار 2.0 بالاحتفاظ بكتل الإصدار 1.0 أو حتى العودة إليها إذا احتجت إلى ذلك.
على الرغم من أنهم لا يزالون يعملون على ضبط الأداء النهائي وسهولة الاستخدام، إلا أن عملهم لم يكتمل بعد، مع وجود منحنى تعليمي حاد حيث لا يبدو أنهم وجدوا التوازن "المرئي" لتكوينات الكتل حتى الآن، إلا أنه يتم تعويض ذلك من خلال دعم لا تشوبه شائبة ووثائق كاملة للغاية.
هذا المكوّن الإضافي للكتلة، الذي أنشأه توم أوسبورن، صغير جداً. عمره أكثر من عامين بقليل. تم إصدار نسخته 1.0 في 30 أغسطس 2022.
هذا لم يمنعه، مع GeneratePress (GP)، من أن يصبح المزيج المثالي لتصميم و/أو بناء جزء من تصميم ووردبريس أو كله تقريبًا، حيث يقدم كودًا نظيفًا وخفيفًا وسريعًا. حتى يومنا هذا لا يزال يتم اختياره من قبل عدد كبير من مستخدمي ووردبريس، من المدونين "المتخصصين" إلى المدونين المنزليين.
يجب أن نصر على أن GenerateBlocks ليس منشئًا، مثل Elementor أو غيره مما يسمى "منشئو المواقع" على الرغم من أنه يمكن استخدامه على هذا النحو، فهو نهج مختلف لا علاقة له بـ "السحب والإفلات" التقليدي. إنه مكون إضافي للكتل.
إذا كان هناك شيء واحد يستحق المراجعة والإشادة بشأن GB+GP، فهو دعمهم. لقد فهموا مستخدميهم بشكل جيد للغاية وأصابوا كبد الحقيقة عندما يتعلق الأمر بخدمة العملاء. من منتدى الدعم الخاص بهم يمكنك حل أي شيء تقريباً.
إنهم يساعدونك حتى في المشكلات التي لا تتعلق دائمًا بالأخطاء أو الشكوك حول الاستخدام، فهم يساعدونك أيضًا عندما يتعلق الأمر ببناء أو إعادة تصميم أشياء معينة. دائماً مع معاملة ودية وحازمة. وأفضل ما في الأمر أن كل هذه الاستفسارات والمناقشات والحلول يمكن لأي شخص أن يستشيرها حتى لو لم يستخدموا إصداراتهم المدفوعة.
هذا وحده يستحق كل دولار تدفعه مقابل القالب وإضافة المكوِّن الإضافي.
أترك هنا، على سبيل التذكير و"إعادة الاستشارة" للمستقبل، مثالاً على حل (وهو ليس الأول) لأحد هذه الاستفسارات في منتدى الدعم الخاص بكم والذي سمح لي بترجمة بعض السلاسل بشكل ديناميكي. لقد كانت هذه السلاسل هي آخر السلاسل التي يجب ترجمتها وكانت تقاوم.
على الأغلب، بالنسبة لشخص لديه معرفة بالبرمجة فإن الأمر أشبه بحك أنفه، ولكن بالنسبة للمبرمجين المتقدمين الذين لديهم معرفة أساسية، مثلي، فهي هدية حقيقية.
ترجمة النص من مكوِّن "نص" من مكوِّن "نص" من GenerateBlocks باستخدام Polylang
تتيح لك إضافة Polylang تسجيل السلاسل لإضافة الترجمات المقابلة لها أينما تريد. للقيام بذلك ما عليك سوى إضافة السلاسل هكذا إلى function.php الخاص بالقالب :
pll_register_string('Publicado:', 'Published:');
pll_register_string('Actualizado:', 'Updated:');
وبالتالي، ستظهر بالفعل للترجمة في مجموعة تسمى Polylang ضمن اللغات/الترجمة:

لكن هذا ليس كافيًا، عليك الآن استدعاء كل من هذه الترجمات باستخدام كود PHP من أجل عرضها.
تتمثل المهمة في ترجمة السلاسل المنشورة: والمحدثة: التي أضفتها في ذلك الوقت في عنصر GP مع كتلة "نص" GB 2.0 (التي كانت تسمى سابقًا "العنوان") إلى كل لغة بشكل ديناميكي.
Structure of the GB Text block
Publicado: {{post_date}} | Actualizado: {{post_date type:modified}} |

المشكلة هي أنني لم أتمكن من العثور على طريقة لإضافة استدعاءات PHP Polylang لاستبدال هاتين الكلمتين حسب اللغة التي تُعرض بها الصفحة:
<?php echo pll__('Published:'); ?>
<?php echo pll__('Updated:'); ?>
كتلة GB لا تنفذ كود PHP ولم تكن هناك إمكانية لوضعها برمز قصير. عند هذه النقطة أعلنت نفسي غير قادر على إيجاد حل وقررت الرجوع إلى منتدى الدعم.
وبعد عدة رسائل، وصل الحل.
1. تتم إضافة فئة CSS إلى مكوِّن "نص". في هذا المثال نستخدم: my-post-dates

2- يُضاف هذا الفلتر في function.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 );
وهذا كل شيء. والآن، سيتم عرض هاتين الكلمتين باللغة التي اخترتها من تلك التي تستخدمها.
يحتوي هذا المنشور على رابطين تابعين.