قبل أن تقرأ هذا الموضوع أحب أن أؤكد لك أني لم أخطئ في كتابة العنوان. ولو نظرت للصورة التي أرفقتها هنا ستفهم قصدي
إذاً ما أقصده بسؤالي ما الفرق بين Template و Theme في ووردبريس فكلا المصطلحين تم ترجمتهما بكلمة "قوالب" في لوحة التحكم الخاصة بأدمن الموقع! وهذا من شأنه أن يربك المستخدم ويدفعه للتساؤل عن الفرق بين القائمتين.
-قبل الإجابة على السؤال أود أن أشير بأن ترجمة المصطلحات التقنية إلى اللغة العربية لطالما كانت معضلة للدارسين والمتعلمين، ولعلها أحد الأسباب التي تجعلني أفضل شخصيًا الحصول على المعلومة البرمجية على وجه الخصوص من مصادر باللغة الإنجليزية- لسهولة فهم المصطلحات وعدم التباسها علي رغم أن التعلم باللغة الأم يظل أسرع وأقرب وصولاً للذهن-
لكن للأسف تتسبب مشكلة المصطلحات المعربة في كثير من الأحيان في حدوث التباس للمتعلم. فالمفردات التالية على سبيل المثال جميعها تستخدم في سياق شرح قوالب ووردبريس بشكل مترادف
- القالب
- السمة
- الثيم
- التمبلت
- المظهر
- النموذج..
فكل شخص يترجم الأمر وفق اجتهاده. لهذا أرى أن إرفاق أي مصطلح تقني مترجم بنظيره الإنجليزية لجعل الأمر أسهل على الفهم ولا سيما المصطلحات التي قد يحدث فيها لبس على القارئ وتتشابه مع مصلحات أخرى كما في مثالنا الحالي.
بالعودة للسؤال المطروح في البداية يمكن أن نصيغ السؤال بالشكل التالي:
- ما الفرق بين القوالب(Themes) والقوالب (Templates) في ووردبريس؟
- أو ما الفرق بين الثيم والتمبلت في ووردبريس؟
لا شك أن السؤال بات واضحًا بشكل أفضل الآن وإليك الجواب
عند تطوير ثيم ووردبريس يقوم التمبلت بتعريف كل جزء من أجزاء صفحة الويب التي سيتم توليدها من قبل هذا الثيم. يكون التمبلت بشكل ملف php والخرج الناتج عنه هو HTML
وبما أن الصفحة تكون مؤلفة من عدة أجزاء يمكنك يتم تضمين عدة تمبلتات في الثيم الواحد.
على سبيل المثال التمبلت header.php هو تمبلت افتراضي يستخدم في معظم ثيمات ووردبريس مهمته تعريف ترويسة صفحات الويب التي تم إنشاؤها في ووردبريس.
يتم تحميل هذا الملف عادة في كل صفحة من صفحات موقع ووردبريس الخاص بك وبهذا في حال كنت تحتاج لتعديل شيء ما في ترويسة الموقع ستحتاج للتعديل على ملف واحد فقط وسيطبق التعديل الذي تجريه على كامل الموقع.
تحتوي معظم ثيمات ووردبريس على عدة تمبلتات افتراضية أساسية مهمتها عرض أقسام معينة من موقع الويب وأهما:
index.php لعرض الصفحة الرئيسية للموقع.
sidebar.php. لعرض الشريط الجانبي للموقع.
footer.php. لعرض الجزء السفلي أو تذييل الموقع.
single.php لعرض صفحة البوست المفرد.
comments.php. لعرض نموذج التعليق والتعليقات على بوست ما.
:content.php لعرض المحتوى
…وغيرها
إضافة لملفات التمبلت يجب أن يكون لكل ثيم في ووردبريس ملف تنسيق هو style.css وملف functions.php. يحتوي على التعليمات البرمجية والوظائف التي سيتم استخدامها في القالب.
يمكن تضمين التمبلتات واستدعاؤها ضمن بعضها البعض بشكل متداخل في كل صفحة من خلال دوال برمجية مخصصة.على سبيل المثال يمكن أن يحتوي التمبلت single.php على تمبلت لعرض الترويسة header.php وتمبلت آخر لعرض التذييل footer.php وتمبلت لعرض الشريط الجانبي sidebar.php وتمبلت لعرض المحتوى content.php
هذا بالنسبة للتمبلتات الافتراضية ضمن الثيم. وقد تتضمن بعض الثيمات أيضًا تمبلتات إضافية لتخصيص عرض أجزاء معينة في الموقع .. كما يمكنك كذلك إضافة ما تشاء من التمبلتات بنفسك في ووردبريس وتخصيصها ضمن الثيم الخاص بك.
أخيرا أود ان أنوه لأن ملفات التمبلتات في ووردبريس تمتلك تسلسل هرمي (Hierarchy) حيث يتم استدعاؤها من الأخص للأعم ضمن الثيم. مثلاً إذا لم يكن للثيم ملف single.php لعرض البوست فسوف يتستدعي هذا الثيم ملف تمبلت أكثر عمومية مثل index.php لعرض هذا البوست.
وأنصح أي مطور قوالب ووردبريس بالتعمق في فهم ملفات التمبلت هذه وطريقة تفاعلها وترتيبها الهرمي لأن هذا يساعده في تطوير القوالب بشكل أفضل وأكثر احترافية.
وختامًا إذا أردنا أن نختصر الجواب بعبارة واحدة يمكن القول بأن:
القالب Theme يؤثر على على النمط العام لموقع ووردبريس الخاص بك ويمكن أن يكون للموقع Theme واحد مفعل فقط
أما القالب Template فهو يغير تخطيط صفحة واحدة في الموقع ويمكن أن يكون للموقع عدة Templates مفعلة بنفس الوقت.