أعزائي مطوري السمات ، توقف عن لصق قصاصات التعليمات البرمجية العشوائية في ملف function.php الخاص بك


تخيل مثل هذا السيناريو ، ابحث عن مقتطف رائع من التعليمات البرمجية في أحد مواقع WordPress التعليمية العديدة والصقه في ملف function.php الخاص بالقالب.

يعمل مقتطف الشفرة كما هو معلن عنه ثم تجعل المظهر الخاص بك متاحًا للبيع في سوق السمات المعروف. دعونا نختار واحدة من القبعات بشكل عشوائي ودعنا نذهب إلى… ThemeForest.

فجأة أصبح موضوعك شائعًا حقًا ، قد يكون ذلك بسبب القائمة الضخمة من “الميزات” التي تبدو مفيدة والتي وضعتها على صفحة مبيعات النموذج. إلى جانب نجاح السمة ، يوجد أيضًا عدد من الاستعلامات المساعدة ، والتي تتعلق بشكل أساسي بتلف المكونات الإضافية أثناء استخدام السمة.

أتساءل كيف حدث ذلك؟ ربما يكون ذلك بسبب قيامك بلصق أجزاء عشوائية من كود WordPress بشكل أعمى في ملف function.php دون التفكير في مشكلات التوافق المحتملة أو توقعها.

مثال من واقع الحياة

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

بدا السطر الأول من الكود كما يلي:

add_filter('the_content', 'strip_shortcodes');

حسنًا ، لقد نجح الأمر ، لم أفكر في أي شيء. حاولت لاحقًا تضمين نموذج اتصال برمز قصير. مفاجأة ، لم ينجح الأمر وقضيت حوالي ساعة أحاول معرفة السبب. إذا قرأت بالفعل الكود الذي كنت ألصقه ، فسأعرف ذلك.

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

ما يعتقده مطورو الإضافات التجارية

هنا اقتباس من Carl Hancock (مبتكر Gravity Forms) حول هذا الموضوع:

يعني دعم المكوِّن الإضافي الشهير Gravity Forms أننا نرى أكثر من حصة عادلة من السمات سيئة الترميز. إحدى مشكلات الدعم الرئيسية هي الموضوعات التي لم يتم تطويرها باستخدام أفضل الممارسات ، والتي تسبب مشاكل مع أنماط Gravity Forms وفي بعض الحالات الصراعات التي تجعل Gravity Forms لا تعمل بشكل صحيح.

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

هل تريد تقليل احتمالية حدوث مشكلات في المكونات الإضافية بسبب المظهر السيئ التصميم؟ التزم بصانعي السمات ذوي السمعة الطيبة مثل Press75 و iThemes و Headway Themes و Organic Themes و WooThemes و StudioPress على سبيل المثال لا الحصر. سئمت من أسواق الموضوعات التي قد تفتقر إلى خبرة المؤلف ومهاراته. في معظم الأحيان تحصل على ما تدفعه مقابل.

أفضل ممارسات الترميز

ربما يمكن تجنب العديد من هذه المشكلات باتباع التعليمات معايير ترميز WordPress. على سبيل المثال ، يجب عليك قيد الانتظار أسماء الوظائف لتجنب الصراعات المحتملة.

بالنسبة إلى مشاكل التصميم في Gravity Forms ، قد ترغب في تجنب بعض الأنماط الشاملة form أنا input واستخدم محددات WordPress ID الافتراضية لمعظم أنماط النماذج بدلاً من ذلك.

هذا يتضمن #searchformو #sو #searchsubmit في مربع البحث. أيضا #commentform #authorو #urlو #emailو #commentو #submit لنموذج التعليق.

اقتراح

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

على سبيل المثال ، إذا وجدت أن الاختصارات الخاصة بك لا تعمل بشكل صحيح ، فقد يكون لسطر التعليمات البرمجية الذي يذكر “strip_shortcodes” علاقة به.

في بعض الأحيان ، يبدو الأمر وكأن مطوري قوالب WordPress يقومون فقط بلصق مقتطفات عشوائية في ملف function.php الخاص بهم حتى يتمكنوا من عرض “ميزة” مختلفة على صفحات مبيعات السمات الخاصة بهم.

على الرغم من أنني لست من أشد المعجبين بهذا النوع من الأفكار ، إلا أنه يقع في نقاش مختلف تمامًا حول دور السمات والمكونات الإضافية على مواقع WordPress ، والتي سأحتفظ بها لنشرها في المستقبل.



scroll to top