القابلية للتخصيص من أهم الأسباب التي جعلت برنامج ووردبريس يلقى نجاحا كبيرا في أوساط المستخدمين والمطورين على السواء.
تخصيص ووردبريس وإضافة مزايا جديدة إليه يتم عبر طريقتين رئيسيتين :
- الإضافات
- ملف
functions.php
العديد من المطورين ـ خاصة محدودي الخبرة ـ يحتارون في أي الخيارين أفضل، لذلك سأحاول في هذا المقال شرح إيجابيات وسلبيات كل منهما، مع إيضاح بعض الحالات التي يجب فيها اختيار طريقة دون الأخرى.
التخصيص عبر ملف Functions.php ؟
يعتبر ملف functions.php
من أشهر وأهم الملفات التي يتكون منها كل قالب ووردبريس، وفيها يمكن للمطورين كتابة أكوادهم الخاصة لإضافة مزايا ووظائف جديدة للقالب.
فيما يلي إيجابيات وسلبيات استخدام ملف functions.php
لتطويع ووردبريس :
الإيجابيات
- يمكن البحث عن الكود المسؤول عن وظيفة معينة (مثلا في Codex أو StackOverflow)، ثم نسخه ولصقه في ملف
functions.php
وبعد إعادة تحميل الصفحة ترى النتيجة :) - يمكن استخدام المحرر المدمج في لوحة تحكم ووردبريس لتحرير هذا الملف.
- كل قطعة من الكود يتم كتابتها في هذا الملف يجب عليك فهمها واستيعاب دورها جيدا، وهذا يعطي الفرصة لتعلم أشياء جديدة كل يوم، مع إدراك مهمة كل سطر برمجي نكتبه.
السلبيات
- الأكواد التي يتم تضمينها في الملف
functions.php
لا تعمل عند تغيير القالب. - في حالة عدم استخدام قالب ابن، يتم فقدان جميع التعديلات التي تمت على ملف
functions.php
بعد تحديث القالب. - مع مرور الوقت وإضافة المزيد من التخصيصات، سيصبح صعبا تنظيم الأكواد داخل الملف ومعرفة الوظائف والأكواد المسؤولة عنها.
التخصيص عبر الإضافات (Plugins)
الإضافات من المكونات الرئيسية لكل موقع ووردبريس، وبفضلها يمكن بناء جميع أنواع المواقع التي يمكن تخيلها، بدءً بمدونات بسيطة وليس انتهاء بالمتاجر الإلكترونية.
إيجابيات استخدام الإضافات في تخصيص ووردبريس
- إضافات ووردبريس غير تابعة للقالب المستخدم، ويمكن تحديث كلاهما دون أن يؤثر أحدهما على الآخر.
- لا يوجد فرق في السرعة والأداء بين الإضافة و
functions.php
. (في حالة نفس الكود) - سهولة معرفة دور كل إضافة على حدة عن طريق التوصيف الخاص بها.
- يمكن تحديث وتعطيل الإضافات حتى ولو كانت معارفك التقنية منعدمة.
السلبيات
- لا توجد أي ضمانة لاستمرار دعم الإضافة من مطورها، بالخصوص إذا كانت مجانية.
- الإستعانة بشكل مفرط بهذه الإضافات يؤدي للعزوف عن ممارسة التكويد، الذي أراه شخصيا مسألة ضرورية لكل مطور للبقاء على علم بمستجدات الواجهات البرمجية لووردبريس (Wordpress API).
أي الخيارين أمثل إذن ؟
لا يوجد خيار جيد وخيار سيء بين الإثنين، الصحيح هو أن نحدد الخيار الأنسب للحالة التي تواجهنا. فإذا كنا بحاجة لإضافة تخصيصات معينة بسيطة وخاصة بالقالب الذي نستخدمه فمن الأفضل الذهاب مع خيار functions.php
مع الحرص دائما على الإستعانة بقالب ابن لحماية التخصيصات من الضياع، وكلما كان التخصيص معقدا ويتطلب كتابة أكواد طويلة يصبح استخدام الإضافات خيارا أفضل. فعلى سبيل المثال، إذا كان غرضك الوحيد إدراج ودجات ( Widget ) معين داخل محتوى المقالات (مثلا صندوق الإشتراك في القائمة البريدية)، فليس ضروريا أن تقوم بتنصيب إضافة خاصة لهذه المهمة البسيطة، لأنه يمكنك إضافة هذه الخاصية يدويا بالإستعانة بما يعرف بمرشحات ووردبريس ( Wordpress Filters )، ولن تحتاج في ذلك لكتابة أكواد برمجية طويلة أو معقدة.
أتمنى أن تكون الفكرة قد وصلت، وإذا كانت لديكم أسئلة أو استفسارات حول الموضوع فلا تترددوا في طرحها في صندوق التعليقات ;)
ترجمة بتصرف للمقال : WordPress Plugin vs Functions.php file (Which is better?)