تصحيح أخطاء WordPress: الدليل الأساسي

نشرت: 2021-02-11

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

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

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

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

شرح تصحيح ووردبريس

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

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

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

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

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

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

الآن ، دعنا نلقي نظرة على كيف يمكننا البدء!

كيف يمكنني تمكين التصحيح في WordPress؟

لبدء عملية تصحيح أخطاء WordPress ، سنحتاج إلى سطرين من PHP.

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

بعد ذلك ، قم بتنزيل نسخة من ملف wp-config.php الخاص بك. لا تقم بتحرير الملف الأصلي! سنقوم ببساطة بتحميل النسخة المعدلة بمجرد الانتهاء.

بمجرد فتح ملف wp-config.php في محرر النصوص الخاص بك ، ستحتاج إلى إضافة السطر التالي من التعليمات البرمجية. أولاً ، ابحث عنه للتأكد من أنه ليس لديك بالفعل ؛ PHP تصبح غير سعيدة للغاية إذا قمت بتعريف نفس المتغير مرتين!

 define( 'WP_DEBUG', true );

كل ما يفعله سطر التعليمات البرمجية هذا هو تعيين متغير PHP العام المسمى WP_DEBUG على القيمة المنطقية true.

وبالمثل، إذا أردت لتحويل وورد التصحيح الميزة، وكنت وضعت للتو في خط العكس من التعليمات البرمجية:

 define( 'WP_DEBUG', false );

يؤدي هذا إلى تشغيل التصحيح ، ولكن هذا ليس مفيدًا جدًا إذا لم نكن نعرف كيفية العثور على المعلومات التي يتم إخراجها!

أين يوجد سجل تصحيح ووردبريس؟

هناك إجابتان تقنيتان على هذا السؤال ، والإجابة الدقيقة تعتمد على اختيارك.

كما قلنا ، تتمثل إحدى الطرق في إسقاط التعريف ('WP_DEBUG' ، صحيح) ؛. يستخدم هذا إعدادات سجل تصحيح أخطاء WordPress الافتراضية ، والتي تقوم تلقائيًا بإنشاء ملف إذا لم يكن موجودًا (أو يتم إلحاقه إذا كان موجودًا) في الموقع wp-content / debug.log.

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

 define( 'WP_DEBUG_LOG', '/best-wp-dev/errors.log' );

شرح سجل تصحيح ووردبريس

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

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

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

التصحيح مقابل التسجيل

على الرغم من أنها تهدف إلى تحقيق نفس الهدف ، فمن المهم أن تفهم الفرق بين التصحيح والتسجيل. بمعنى آخر ، تعريف السطر ('WP_DEBUG' ، صحيح) ؛ يفعل شيئًا مختلفًا تمامًا عن تعريف السطر ('WP_DEBUG_LOG' ، صحيح) ؛.

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

أمان iThemes (أمان WP أفضل سابقًا)

تصحيح أخطاء WordPress دون المخاطرة بالأمان

من الواضح أنك ستحتاج إلى تصحيح أخطاء موقعك بانتظام. ومع ذلك ، ربما لا ترغب في إضافة سطور التعليمات البرمجية وإزالتها باستمرار من ملف wp-config.php.

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

نموذج رمز تصحيح WordPress الآمن

باستخدام العملية الموضحة أعلاه ، إليك أربعة أسطر من التعليمات البرمجية التي يمكن أن تساعدك على البدء في تصحيح أخطاء موقعك بأمان!

 define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false ); @ini_set( 'display_errors', 0 );

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

من المحتمل أن السطر الرابع يبدو أنه خرج من الحقل الأيسر! هذا السطر لمعالجة أخطاء PHP التي لا يعالجها WordPress. إنها القاعدة الأخيرة التي يجب تغطيتها لضمان عدم وصول المستخدمين الضارين إلى معلومات الموقع الحساسة.

كيف يمكنني إصلاح خطأ تصحيح أخطاء WordPress؟

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

لنلقِ نظرة على بعض السيناريوهات التي ستحتاج فيها إلى إضافة بضعة أسطر أخرى إلى ملف wp-config.php الخاص بك من أجل تصحيح أخطاء WordPress بشكل صحيح.

تصحيح أخطاء WordPress JavaScript

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

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

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

السبب وراء قيام WordPress باستخدامنا لمتغير PHP عالمي آخر للقول إننا نريد تصحيح البرامج النصية هو أن طريقة تصحيح الأخطاء هذه تنتج كمية هائلة من البيانات.

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

 define( 'SCRIPT_DEBUG', true);

سيعرض هذا أخطاء JavaScript و CSS (ورقة الأنماط). يمكن أن يساعد أيضًا في عمليات AJAX الأكثر تعقيدًا.

إصلاح مشاكل البيانات

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

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

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

لبدء تصحيح أخطاء قاعدة بيانات WordPress ، ستحتاج إلى إضافة سطر آخر إلى ملف wp-config.php الخاص بك:

 define( 'SAVEQUERIES', true );

الغوص في تصحيح أخطاء قاعدة البيانات

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

كما أنها تخزن ناتجها بشكل مختلف قليلاً. يستخدم WordPress مصفوفة PHP من السلاسل التي ستحتاج إلى الوصول إليها للاطلاع على معلومات تصحيح أخطاء قاعدة البيانات. إنه موجود في المتغير العام PHP المسمى $ wpdb وفي مصفوفة الأعضاء تسمى الاستعلامات. يمكنك الوصول إليه عن طريق طباعة محتويات استعلامات $ wpdb->

تصحيح أخطاء إضافات WordPress

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

تصحيح أخطاء الفسفور الابيض

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

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

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

شريط التصحيح

كما يوحي اسمه ، فإن Debug Bar هو مجرد شريط في لوحة الإدارة لموقع WordPress الخاص بك. يمكن استخدامه بالاقتران مع أداة WP Debugging.

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

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

احصل على محتوى المكافأة: 10 ميزات لاختيار البرنامج المساعد للنسخ الاحتياطي في WordPress
انقر هنا

تصحيح ثيمات WordPress

يتضمن تصحيح أخطاء سمات WordPress عادةً تمكين المتغير العام PHP فيما يتعلق بالبرامج النصية. هذا لأن السمات تستخدم JavaScript و CSS من جانب العميل.

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

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

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

تصحيح أخطاء WordPress الفادحة

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

لا داعي للقلق ، حيث يمكنك فقط اتباع سلسلة الخطوات هذه لحل المشكلة في وقت قصير جدًا!

  1. تأكد من تشغيل وضع تصحيح أخطاء WordPress.
  2. الوصول إلى سجل الأخطاء الخاص بك. يجب أن يحتوي على معلومات مفصلة حول الخطأ الفادح. إذا كان الأمر كذلك ، فابحث عن رمز الخطأ الدقيق عبر الإنترنت.
  3. تحقق من إصدار PHP الخاص بك. إذا لم يكن هذا ما يتطلبه WordPress حاليًا ، فببساطة تحديث إصدار PHP الذي يستخدمه خادمك يمكن أن يحل المشكلة.
  4. إذا لم يحالفك الحظ بعد ، فانتقل إلى المكونات الإضافية الخاصة بك. قم بإيقاف تشغيلهم جميعًا . إذا كان الموقع يعمل ، فهذا يعني أن المكون الإضافي تسبب في المشكلة. انتقل من خلالهم واحدًا تلو الآخر حتى تجد المكون الإضافي للمشكلة. اتصل بمن كتبه واطلب منه إصلاحه.
  5. إذا لم تعثر على المشكلة بعد ، فقد تكون مشكلة متعلقة بالمظهر. حاول إعادة نسقك الحالي إلى نسق WordPress الافتراضي. إذا كان موقعك يعمل ، فستحتاج إلى تغيير السمات مؤقتًا حتى يحل المؤلف المشكلة.
  6. لا نرد؟ ضع خطأك في منتدى مطوري WordPress. هناك الكثير من المستخدمين الذين يسعدهم مساعدتك.

تغليف

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