في هذا الموضوع أود أن أشير للاختلاف الأساسي بين القوالب والإضافات في ووردبريس.
لابد أنك تقول لنفسك الجواب واضح: القالب هو الذي يغير تصميم ومظهر الموقع، في حين أن الإضافة هي التي تضيف وظائف إضافية للموقع.
بشكل عام هذا صحيح لكن إذا نظرنا للأمر بمزيد من التفصيل ومن وجهة نظر مطوري القوالب والإضافات سيكون الجواب مختلفًا فالكثير من القوالب تضيف فعليًا وظائف لموقع ووردبريس، كما أن بعض الإضافات يمكنها كذلك إجراء تعديلات على مظهر الموقع.
إذًا ما الفرق الأساسي بين قوالب وإضافات ووردبريس؟
تحتوي جميع قوالب ووردبريس على ملف function.php يعرف باسم ملف وظائف القالب والذي يحتوي على كود برمجي مهمته توسيع القالب وإضافة وظائف إضافية إلى موقعك، ومن خلال هذا الملف يمكن أن تعمل القوالب بشكل مشابه للطريقة التي تعمل بها إضافات ووردبريس.
وبعبارة أخرى في حال أردت إضافة كود ما لموقع ووردبريس فأنت قادر على إضافة هذا الكود إلى ملف function.php للقالب، أو إلى إضافة ووردبريس وسيعمل هذا الكود بنفس الطريقة على موقعك.
لكن الفرق الأساسي بين الطريقتين هو أنك عندما تضيف الكود إلى ملف function.php فهذا الكود سيكون مرتبط بالقالب الحالي لموقعك، وفي حال قررت تغيير القالب واستبداله بقالب آخر فلن يكون الكود الذي أضفته ساريًا في موقعك بعد ذلك.
أما عند إضافة كود معين للموقع من خلال إضافة خارجية فإن هذه الإضافة تعتبر كيان مستقل وتكون قائمة بذاتها وغير مرتبطة بأي قالب محدد، وهذا يعني أنك تستطيع تغيير القالب متى ما أردت دون فقدان ميزات الإضافة وستتمكن بالتالي من الحفاظ على الوظيفة التي تريد إضافتها لموقعك.
أي اسلوب هو الأفضل لتضمين وظائف إضافية في الموقع؟
إن إضافة وظائف للموقع عن طريق الإضافات أو القوالب سيفعل الشيء نفسه، وكلاهما في الواقع صحيح.
لكن قد تتساءل أيهما أفضل من حيث سرعة وأداء ووردبريس؟
في الواقع إن أداء الموقع لن يختلف سواء تم إضافة الكود إلى ملف وظائف القالب أو ضمن إضافة مستقلة فإذا أضفت نفس الكود في أي من الموضعين فسيكون له نفس تأثير الأداء على موقعك.
لكن لكل أسلوب إيجابياته وسلبياته واختيار الأفضل من بينهما يعتمد على عدة عوامل وإليك أهم الفروقات بين الطريقتين.
الأسلوب الأول (ملف وظائف القالب functions.php)
عند إضافة كود إلى ملف functions.php فهذا سوف يسمح لك بتحديد وظائف مخصصة للقالب حيث يتم تجميع كافة التعليمات البرمجية في ملف واحد يمكن التعديل عليه من خلال استخدام محرر القوالب المدمج في لوحة تحكم ووردبريس.
يعتبر هذا الأسلوب مفيد إذا كنت لا تنوي تغيير قالبك وكنت تحتاج لأن تعززه بوظيفة إضافية معينة دون الحاجة إلى إنشاء وتثبيت إضافة كاملة لموقعك لتأمين هذه الوظيفة.
لكن من عيوب هذه الطريقة هو أن صاحب الموقع سيفقد هذا الكود وأي وظائف مخصصة تمت إضافتها للقالب في حال تغيير هذا القالب بقالب آخر،أو عند التحديث التلقائي للقالب إذا قام بإجراء التعديل على القالب الأساسي وليس ضمن قالب ابن.
كما أن وجود الكود كله ضمن ملف واحد كبير سيجعل من الصعب معرفة أين ينتهي الكود الأساسي الخاص بالقالب وأين يبدأ الكود المخصص الخاص بكل وظيفة من الوظائف الإضافية.
وفي بعض الأحيان لن تتمكن من إضافة جميع الوظائف والميزات التي تحتاجها إلى ملف function.php فبعض التعليمات البرمجية المخصصة على سبيل المثال قد تحتاج إلى تنسيقاتstylesheets وسكربتات scripts لتعمل بشكل صحيح.
الأسلوب الثاني (إضافة ووردبريس)
بالنسبة للأسلوب الثاني فإن إضافة وظائف إضافية للموقع من خلال إضافة مستقلة سوف يمكنك من فصل الوظائف عن القالب الخاص بك، وبالتالي سيكون من السهل تفعيل وتعطيل الإضافة وكذلك تحديثها أو إعادة تثبيتها متى ما أردت..
هذا الأمر بالطبع سيجعل الموقع أسهل في الإدارة، فأنت تعلم ما هو الكود الخاص بكل إضافة وتعلم ما الذي يفعله هذا الكود في موقعك.
ختامًا
يمكن القول أن فصل كود الوظائف الإضافية في إضافات مستقلة يعتبر أمرًا مفضلًا لكونه أسهل في الإدارة من إنشاء ملف وظائف قالب واحد كبير ومعقد.
لكن بنفس الوقت إذا كان مقطع الكود الذي تريد إضافته بسيط ويؤدي وظيفة محدودة في الموقع ولم تكن تريد تثبيت إضافة مخصصة له فيمكنك في هذه الحالة إضافته إلى ملف وظائف القالب الخاص بك.