الانتقال إلى المحتوى
القوالب

قالب البلوكات مقابل القالب الكلاسيكي في ووردبريس: مقارنة صريحة

ميّز قالب البلوكات من الكلاسيكي في ثلاثين ثانية، واعرف ما يكلّفه كلٌّ منهما على المحرر والمطوّر، وقرّر هل تنتقل أم تبقى أم تكتفي بإضافة theme.json.

نُشر

افتح مجلد قالبك. إن وجدت فيه مجلد templates بداخله index.html، مع theme.json في الجذر، فأنت أمام قالب بلوكات. وإن وجدت index.php إلى جانب ملفات مثل header.php و footer.php، وكان الشريط الجانبي في لوحة التحكم يعرض المظهر ثم أداة التخصيص، فأنت أمام قالب كلاسيكي.

هذا الفارق البنيوي وحده يقرر من يستطيع تغيير ماذا في موقعك، وأين تُخزَّن تلك التغييرات، وأي نصف من منظومة إضافات ووردبريس سيتصرف تصرفًا طبيعيًا.

التمييز في ثلاثين ثانية

المؤشرالقالب الكلاسيكيقالب البلوكات
ملف القالب الجذريindex.phptemplates/index.html
الترويسة والتذييلheader.php و footer.phpparts/header.html و parts/footer.html
الإعداد العامfunctions.phptheme.json (مع functions.php اختياريًا)
قائمة لوحة التحكمالمظهر ← أداة التخصيصالمظهر ← المحرر
أين تُحفظ التعديلاتملفات على القرصقاعدة البيانات، كمقالات wp_template
شاشة الودجاتموجودةغائبة

يبني ووردبريس حكمه على وجود templates/index.html. والقالب الذي يشحن theme.json لكنه يحتفظ بقوالب PHP يظل معامَلًا على أنه كلاسيكي — وهذه الحالة الوسطى شائعة ولها اسم، نتناوله أدناه.

وإن كان لديك وصول إلى الطرفية، فأمر واحد يحسم المسألة:

wp eval 'var_dump( wp_is_block_theme() );'

WP-CLI هو أسرع فحص على موقع لم تبنِه أنت، وخصوصًا حين يكون منشئ صفحات قد أخفى قوائم لوحة التحكم المعتادة.

ما الذي يتغير لمن يحرّر الموقع

في القالب الكلاسيكي، تعيش الترويسة والتذييل والشريط الجانبي والألوان والشعار خلف أداة التخصيص، ولا تحصل إلا على أدوات التحكم التي قرر مؤلف القالب بناءها. فإن لم يسجّل القالب أداة تحكم لنص حقوق النشر في التذييل، فلا وجود لتلك الأداة. إما أن تحرّر ملف PHP أو تتعايش مع الأمر.

وفي قالب البلوكات، يعرض محرر الموقع الصفحة بأكملها. الترويسة والتذييل وحلقة المقالات وصفحة 404 وتخطيط نتائج البحث — كل ذلك بلوكات، وكله قابل للتحرير من شخص لم يرَ PHP في حياته. هذه هي الميزة الكبرى حقًا، وهي ضخمة فعلًا.

والثمن أن كل شيء قابل للتحرير من شخص لم يرَ PHP في حياته. يستطيع العميل حذف عنوان الموقع من الترويسة في الثانية صباحًا، ولا يوجد سجل إصدارات على القرص تستعيد منه — لا شيء سوى مراجعات محرر الموقع نفسه. والإغلاق ممكن عبر قفل البلوكات وتقييد من يصل إلى المحرر، لكنه عمل اختياري عليك أن تتذكر القيام به.

وخسارتان أصغر تُلمَسان عمليًا: قوالب البلوكات لا شاشة ودجات فيها (تحل محل مناطق الودجات أجزاءُ القوالب والبلوكات)، والقوائم الكلاسيكية يحل محلها بلوك التنقل الذي يخزّن عناصره في نوع محتوى منفصل بدل شاشة القوائم المألوفة.

ما الذي يتغير للمطوّر

تستخدم القوالب الكلاسيكية هرمية قوالب PHP. يحلّ ووردبريس الطلب عبر سلسلة معروفة — single-{post-type}.php ثم single.php ثم singular.php ثم index.php — فيُنفَّذ ملفك، ويستدعي get_header()، ويشغّل الحلقة، ويطبع وسومًا تتحكم فيها حرفًا حرفًا.

<?php get_header(); ?>
<main class="site-main">
  <?php while ( have_posts() ) : the_post(); ?>
    <h1><?php the_title(); ?></h1>
    <?php the_content(); ?>
  <?php endwhile; ?>
</main>
<?php get_footer(); ?>

وتستخدم قوالب البلوكات أسماء الهرمية نفسها بامتداد .html، لكن الملف يحتوي وسوم بلوكات — أي HTML مع فواصل بلوكات داخل التعليقات — ولا وجود لوسوم القوالب:

<!-- wp:template-part {"slug":"header","tagName":"header"} /-->

<!-- wp:group {"tagName":"main"} -->
<main class="wp-block-group">
  <!-- wp:post-title {"level":1} /-->
  <!-- wp:post-content /-->
</main>
<!-- /wp:group -->

<!-- wp:template-part {"slug":"footer","tagName":"footer"} /-->

ثلاث نتائج يصطدم بها المطوّرون فورًا:

get_header() و get_footer() لا يُنفَّذان أبدًا. أي شيء مربوط بهذين الإجراءين، في إضافة أو في قالب فرعي قديم، لا يفعل شيئًا بصمت. أما wp_head و wp_footer فما زالا يُطلَقان، فينجو معظم الإدراج، لكن الخطافات الخاصة بالترويسة لا تنجو.

قاعدة البيانات تغلب ملفاتك. في اللحظة التي يحفظ فيها أحدهم قالبًا في محرر الموقع، يخزّن ووردبريس تلك النسخة كمقالة wp_template ويقدّمها بدل ملفك. يمكنك تحرير ملف HTML طوال بعد الظهر ولا ترى أي تغيير على الواجهة الأمامية. ومسح التخصيص لذلك القالب يعيد نسخة الملف. هذا أكثر بلاغ «قالب البلوكات لدي معطوب» تكرارًا، وهو ليس خللًا.

التنسيق ينتقل إلى theme.json. الألوان وسلّم التباعد والطباعة والافتراضيات الخاصة بكل بلوك تُعرَّف كبيانات لا كـ CSS، وووردبريس هو من يولّد الـ CSS. وهذا أنظف وأكثر اتساقًا بكثير — إلى أن تحتاج شيئًا لا يعبّر عنه المخطط، فتجد نفسك تكتب CSS على أي حال وتصارع الخصوصية ضد قواعد مولَّدة.

{
  "version": 3,
  "settings": {
    "color": {
      "palette": [
        { "slug": "brand", "color": "#1a1a1a", "name": "Brand" }
      ]
    }
  }
}

راجع قيمة version مقابل إصدار ووردبريس الذي تعمل عليه — فقد نُقّح المخطط أكثر من مرة، ونسخ رقم إصدار من شرح قديم يُنتج إعدادات تُتجاهَل بصمت.

ولاحظ أن functions.php لا يختفي. ما تزال قوالب البلوكات تستخدمه للإدراج، ولتسجيل مدخلات add_image_size، وأنواع المحتوى المخصصة، وكل ما هو PHP. غاية ما هنالك أنك تقوم فيه بعمل قوالب أقل بكثير.

ما تكسبه فعلًا وما تخسره فعلًا

الانتقال إلى البلوكات يكسبك: تحكمًا تحريريًا في الصفحة كلها، واتساقًا في التصميم يفرضه theme.json، وملفات أقل للصيانة، وأنماطًا تتطابق بين المحرر والواجهة الأمامية أكثر بكثير مما نجحت فيه القوالب الكلاسيكية يومًا.

والانتقال إلى البلوكات يخسرك: التحكم المباشر في الوسوم المُخرَجة، والتخصيص المباشر عبر الخطافات، والتوافق مع كل ما يفترض وجود قوالب PHP، والاطمئنان إلى أن مظهر الموقع محفوظ في نظام إدارة الإصدارات.

والنقطة الأخيرة تستحق التشديد. في القالب الكلاسيكي، يخبرك git log بما تغيّر. وفي قالب البلوكات، يعيش جزء معتبر من مظهر الموقع في قاعدة البيانات حيث لا تنظر خطوط النشر لديك.

متى يظل القالب الكلاسيكي هو الجواب الصحيح

  • منشئ صفحات يدير الموقع. أدوات مثل Elementor و Divi و Beaver Builder وما شابهها تتولى بناء القوالب بنفسها. ووضع قالب بلوكات تحتها يضيف نظام قوالب ثانيًا لا يفعل شيئًا.
  • الوسوم يجب أن تكون دقيقة. مكتبات مكوّنات مصممة خصيصًا، أو وسوم وصول صارمة، أو متطلبات مخطط غير معتادة — مُخرَجات البلوكات محكومة بما تصدره البلوكات، ومصارعتها أغلى من كتابة PHP.
  • اعتماد كثيف على قوالب الإضافات. إضافات العضويات وأنظمة التعلّم والأدلة وامتدادات التجارة الأقدم كثيرًا ما تشحن تجاوزات قوالب PHP. كثير منها له مكافئ بالبلوكات اليوم، وكثير منها ليس له.
  • الموقع مكتمل ويعمل. قالب تراكمت عليه خمس سنوات من التخصيص لا مسار ترقية له نحو البلوكات، بل إعادة بناء فقط. و«هذه هي المقاربة الأحدث» ليست سببًا تجاريًا.
  • لن يحرّره أحد سواك. الفائدة الأساسية من محرر الموقع هي تسليم التحكم لغير المطوّرين. فإن لم يكن هناك غير مطوّرين، فأنت تدفع الكلفة مقابل فائدة لا يستخدمها أحد.

الحل الوسط الهجين

يستطيع القالب الكلاسيكي أن يضيف theme.json فيحصل على نظام الأنماط العامة، والقيم المسبقة للألوان والتباعد، وتنسيق محرر متسق — مع احتفاظه بقوالب PHP وأداة التخصيص. لا يسمّي ووردبريس هذا قالب بلوكات، ويبقى محرر الموقع غير متاح، لكنك تحصل على معظم فائدة نظام التصميم بجزء يسير من العمل.

ولموقع قائم يعمل في مجمله، هذه عادةً هي الخطوة الأولى الصحيحة. أضِف theme.json، وعرّف لوحتك وتباعدك، واحذف ما يحل محله من CSS، ثم انظر هل ما زلت تريد الباقي.

FAQ

أسئلة

كيف أعرف إن كان قالبي قالب بلوكات أم قالبًا كلاسيكيًا؟

افتح مجلد القالب. قالب البلوكات فيه مجلد templates يحتوي على index.html، وفي شبه كل الحالات ملف theme.json في الجذر. أما القالب الكلاسيكي ففيه index.php وملفات قوالب PHP مثل header.php و footer.php. وفي لوحة التحكم تعرض قوالب البلوكات: المظهر ثم المحرر، بينما تعرض الكلاسيكية: المظهر ثم أداة التخصيص.

هل قوالب البلوكات أفضل من القوالب الكلاسيكية؟

ليس على إطلاقه. قوالب البلوكات تمنح غير المطوّرين تحكمًا حقيقيًا في كل جزء من الصفحة وتزيل كثيرًا من حشو PHP. والقوالب الكلاسيكية تمنح المطوّرين تحكمًا دقيقًا في الوسوم وتعمل مع تاريخ الإضافات ومنشئات الصفحات والخطافات كله. الاختيار الصحيح يتوقف على من سيحرّر الموقع بعد الإطلاق.

هل أستطيع تحويل قالبي الكلاسيكي إلى قالب بلوكات؟

ليس بضغطة زر. التحويل يعني إعادة كتابة كل قالب PHP على هيئة وسوم بلوكات HTML، ونقل الأنماط إلى theme.json، واستبدال مناطق الودجات والقوائم بالبلوكات. ومع قالب مخصَّص بكثافة تكون هذه إعادة بناء لا هجرة. والمقاربة الهجينة، بإضافة theme.json إلى قالبك الكلاسيكي، هي عادةً الخطوة الأولى الأرخص.

لماذا توقفت تعديلات ملف القالب عن الظهور بعد أن حرّرت في محرر الموقع؟

بمجرد أن يحرّر أحدهم قالبًا في محرر الموقع، يحفظ ووردبريس تلك النسخة في قاعدة البيانات كمقالة من نوع wp_template، وتفوز نسخة قاعدة البيانات على الملف الموجود على القرص. تعديلاتك على الملف تُتجاهَل حتى تُمسَح التخصيصات لذلك القالب تحديدًا. وهذا يفاجئ كل مطوّر تقريبًا في أول قالب بلوكات له.

هل ما زال القالب الكلاسيكي يعمل في إصدارات ووردبريس الحالية؟

نعم. القوالب الكلاسيكية مدعومة بالكامل، ولا تصدر لها تحذيرات إهمال، وتعمل بهرمية قوالب PHP نفسها التي عملت بها دائمًا. وأداة التخصيص ما تزال تُحمَّل لها. اتجه اهتمام تطوير ووردبريس نحو قوالب البلوكات، فتوقّع أن تصل ميزات المحرر الجديدة إليها أولًا، لكن لا شيء مقرَّر لكسر القوالب الكلاسيكية.