الأخطاء العشرة الأكثر شيوعًا في مكونات WordPress الإضافية

نشرت: 2019-08-27

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

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

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

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

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

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

لهذا السبب سأشرح اليوم بعضًا من أكثر المشكلات شيوعًا وفضولًا التي واجهناها خلال هذه السنوات مع مكونات WordPress الإضافية.

قائمة مشاكل البرنامج المساعد ووردبريس

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

أنشئ جداول إضافية في قاعدة البيانات

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

قاعدة بيانات WordPress
الجداول الرئيسية لقاعدة بيانات WordPress.

قاعدة بيانات WordPress عامة بما يكفي بحيث لا تضطر إلى إضافة جداول جديدة لاستخدامها في المكون الإضافي. فلماذا يرى المطور الحاجة إلى إضافة المزيد من الجداول إلى WordPress؟ الجواب سهل جدا: الراحة والجهل.

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

إذا كنت ترغب في توسيع معلومات المستخدم ، فلديك جدول wp_usermeta . الشيء نفسه ينطبق على المحتويات ( wp_postmeta ) ، والتعليقات ( wp_commentmeta ) أو حتى مصطلحات التصنيف (الملصقات والفئات ، مع جدول wp_termmeta ).

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

تحميل الأنماط والأنماط السيئة

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

الرجل العنكبوت يحمل رجلاً من الأمان إلى النار (أي فعل ذلك خطأ)
يعد تحميل أنماط CSS وملفات JavaScript في WordPress شيئًا ، للأسف ، قليل من المطورين يقومون بعمل جيد.

لإضافة نمط CSS أو ملف JavaScript في WordPress ، يجب عليك وضعه في قائمة انتظار WordPress القياسية. للقيام بذلك ، قم أولاً بتسجيله مع الدالتين wp_register_style و wp_register_script ، ثم قم بإدراجه في wp_enqueue_style و wp_enqueue_script ، على التوالي.

لاحظ أن هذه الوظائف تسمح لك بتحديد التبعيات التي تمتلكها أنماطك ونصوصك ، لذا فإن WordPress يدير التبعيات بشكل صحيح ويدرج فقط ما تحتاجه.

أي شيء آخر خاطئ. وهنا يقع اللوم حتى على وثائق المطور. انظر إلى الأمثلة الموجودة في خطاف wp_head في مخطوطة WordPress. سيأخذ المطورون هذا كمرجع ، وماذا يحدث بعد ذلك هو أنهم يكسرون الأشياء؟

لا تفكر حتى في استخدام wp_dequeue_script أو wp_dequeue_style البرامج النصية أو الأنماط من WordPress. لقد رأينا في كثير من الأحيان كيف تقوم المكونات الإضافية بإلغاء ترتيب إصدار jQuery الذي يأتي مع WordPress لإضافة إصدارات خاصة بهم (والتي عادة ما تكون قديمة) ومن هناك يتوقف كل شيء عن العمل ...

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

عدم تنظيف قاعدة البيانات عند إلغاء تنشيط البرنامج المساعد

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

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

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

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

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

عدم توفير إرشادات للمستخدم

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

المتأنق يبحث مندهشا
إذا شعرت بهذه الطريقة بعد تثبيت وتفعيل مكون WordPress الإضافي ، فإن المطور قد فعل شيئًا خاطئًا.

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

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

قد تعتقد أن هذا شيء يحدث فقط للمبتدئين. لكن ليست هذه هي المسألة. لقد قمت مؤخرًا بتثبيت مكون إضافي معين للقيام بشيء معين (أذكرك أنني كنت سأتجنب إعطاء الأسماء؟) ، ووجدت نفسي في نفس الموقف. لم أتمكن من العثور على مكان إعدادات المكون الإضافي. وإذا حدث لي ، الذي من المفترض أنه كان يعمل مع WordPress لفترة طويلة ، فإن هذا الموقف نفسه مروع لشخص أقل خبرة.

تغيير واجهة مستخدم WordPress

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

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

هومر سمبسون يسير في الشارع
إذا كنت تستخدم WordPress ، لكنه لا يبدو مثل WordPress ، فأنت تربك المستخدمين دون داع.

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

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

التوصية هي أنه إذا كنت مصممًا لمكوِّن WordPress الإضافي ، فأنت تتبع أدلة نمط WordPress ، وحتى إعادة استخدام المكونات التي يوفرها الآن لإنشاء واجهات في React ، والتي يتم تصديرها مباشرة من محرر كتلة Gutenberg. نحن نستخدمهم في التجديد الذي نقوم به لاختبار Nelio A / B وهم رائعون.

التعدي على حدود الممتلكات الخاصة بك

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

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

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

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

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

الكشف عنها أسهل مما يبدو. إذا كنت تستخدم مكونًا إضافيًا وبدت واجهة المستخدم الخاصة به معطلة ، فمن المحتمل تمامًا أن يقوم مكون إضافي آخر بوضع JavaScript أو CSS في مكان لا ينبغي أن يكسر فيه أنماط وسلوك المكون الإضافي الأول. لقد رأينا ذلك. لقد حدث لنا (لقد كسروا واجهتنا) ، وللأسف ، سيستمر حدوث ذلك.

عدم اتباع ممارسات البرمجة الجيدة

ليس عليك أن تكون أفضل مخترق في العالم للبرمجة في WordPress ، ولكن الحد الأدنى من الجودة عندما يتعلق الأمر بالبرمجة أمر متوقع.

إحدى فوائد WordPress (إن لم تكن أعظمها) هي فلسفتها مفتوحة المصدر. يعد استكشاف الكود المصدري للمكونات الإضافية أمرًا يمكنك فعله دائمًا (على الأقل تلك المكونات الإضافية الموجودة في المستودع الرسمي).

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

قد تجد كل شيء: كود من الجيد رؤيته وكود يجعلك تبكي. وهذا لا يعني أن أحدهما أسوأ من الآخر من وجهة نظر الأداء. ولكن إذا رأيت كودًا جيدًا موثقًا جيدًا ومُنظمًا أيضًا بعد التوزيع المنطقي للملفات والمجلدات ، فقد وجدت الكأس المقدسة.

إذا كان من الجيد رؤية الكود الخاص بمكوِّن WordPress الإضافي ، فربما يرجع ذلك إلى أن المبرمج حريص ومهذب. هذه علامة واضحة على الجودة.

فتح فتحات الأمان

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

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

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

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

القيام بأنشطة غير مناسبة

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

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

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

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

لا تضيف قيمة

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

هناك العديد من المكونات الإضافية داخل مستودع WordPress الرسمي والتي تكون قيمتها منخفضة. ولكن هذا شيء يحدث في أي سوق أو مستودع تطبيقات.

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

يعد اختيار إضافات WordPress أمرًا معقدًا

لا يعتمد كل شيء على عدد تقييمات المستخدمين وعدد النجوم. يعد اختيار مكون إضافي جيد لـ WordPress أمرًا معقدًا. هناك العديد من المفاجآت المخفية التي لا يتم اكتشافها إلا من خلال تحليل الكود المصدري للمكوِّن الإضافي نفسه. وإذا لم تكن لديك المعرفة لفهمها ، فكن حذرًا.

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

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

صورة مميزة من Goh Rhy Yan على Unsplash .