اكتشف ما هو الخطأ في WordPress الخاص بك باستخدام DebugPress

نشرت: 2020-10-13

سنقوم اليوم باختبار DebugPress ، وهو مكون إضافي لبرنامج WordPress تم إصداره مؤخرًا للتحقيق في المشكلات المحتملة في التثبيت.

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

تثبيت وتكوين DebugPress

DebugPress هو مطور WordPress plugin بواسطة Milan Petrovic يمكنك العثور عليه في دليل البرنامج المساعد WordPress.org. هذا يعني أنه يمكنك الانتقال إلى تثبيت WordPress الخاص بك ، والوصول إلى قائمة الإضافات وإضافة واحدة جديدة. بمجرد البحث عن الكلمة الرئيسية " DebugPress " ، ستجد المكون الإضافي ويمكنك تنزيله وتنشيطه من هناك.

بمجرد تنشيطه في WordPress الخاص بك ، انتقل إلى إعدادات DebugPress (ضمن قائمة الإعدادات) لتكوين المكون الإضافي:

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

بنفس الطريقة ، قمت بتمكين DebugPress من تتبع جميع أخطاء وتنبيهات PHP ، بالإضافة إلى مكالمات AJAX وخيارات أخرى. أيضًا ، لكي يتمكن DebugPress من عرض معلومات حول استعلامات SQL والنشاط في سجل أخطاء WordPress ، قمت بتعريف الثوابت التالية في wp-config.php الخاص بالتثبيت الخاص بي:

 define('WP_DEBUG', true); define('WP_DEBUG_DISPLAY', false); define('WP_DEBUG_LOG', true); define('SAVEQUERIES', true);

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

تعمل الثوابتان الأخريان على تنشيط سجل الأخطاء (ملف debug.log يتم تخزينه في /wp-content/ مجلد التثبيت الخاص بك) وتخزين الاستعلام الذي تحدثنا عنه. لاحظ أنك قد لا تحدد هذه الثوابت ، ولكن بعد ذلك لن تعرض بعض لوحات DebugPress أكبر قدر ممكن من المعلومات.

تظهر أيقونة عرض لوحة DebugPress على الجانب الأيمن من شريط WordPress العلوي.
تظهر أيقونة فتح لوحات DebugPress على الجانب الأيمن من شريط إدارة WordPress العلوي.

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

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

لوحات المعلومات DebugPress

عندما نضغط على زر DebugPress ، تفتح نافذة منبثقة بها عدة لوحات مجمعة في علامات تبويب. تحتوي كل علامة تبويب على لوحات محددة لنوع معين من المعلومات. دعونا نرى كل منهم وما هي المعلومات التي تحتوي عليها.

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

لوحة DebugPress Basics.
لوحة DebugPress Basics.

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

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

طلب لوحة في DebugPress.
لوحة الطلب دي التصحيح.

في علامة التبويب المسؤول لديك بيانات حول الصفحة الحالية من لوحة تحكم WordPress. عند الوصول إلى التقويم التحريري لمحتوى Nelio في التثبيت الخاص بي ، يمكنني رؤية قيمة المتغير $pagenow بالإضافة إلى قيم الشاشة الحالية :

لوحة الإدارة في DebugPress
لوحة إدارة DebugPress.

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

لوحة المحتوى DebugPress.
لوحة المحتوى DebugPress.

في علامة تبويب الثوابت ، لدينا جميع الثوابت المحددة في WordPress. علاوة على ذلك ، لكل ثابت محدد يمكننا أن نرى قيمته في هذه اللحظة بالذات:

لوحة الثوابت DebugPress.
لوحة الثوابت DebugPress.

في علامة تبويب استعلامات SQL في DebugPress ، يمكننا أن نرى في أي لحظة معينة استعلامات SQL التي تم تنفيذها لعرض الصفحة الحالية. بالإضافة إلى رؤية كل من هذه الاستعلامات ، يمكننا ترتيبها حسب وقت تنفيذها ، وبالتالي إلقاء نظرة سريعة على الاستعلامات الأبطأ ، بالإضافة إلى وظائف PHP التي استدعتها.

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

لوحة DebugPress SQL Queries.
لوحة DebugPress SQL Queries.

في علامة التبويب مستخدم DebugPress ، لدينا جميع معلومات المستخدم الحالي. يتضمن هذا كلاً من المعلومات التي يمكن أن نجدها في جدول wp_users وفي جدول wp_usermeta في قاعدة بيانات WordPress.

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

لوحة مستخدم DebugPress.
لوحة مستخدم DebugPress.

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

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

لوحة قائمة التصحيح DebugPress.
لوحة قائمة التصحيح DebugPress.

في لوحة PHP ، يمكننا رؤية المعلومات الواردة في متغيرات PHP $_SERVER و $_REQUEST و $_COOKIE لطلب الصفحة الحالية:

DebugPress PHP Dashboard.
DebugPress PHP Panel.

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

لوحة نظام التصحيح.
لوحة نظام التصحيح.

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

DebugPress لوحة أجاكس.
DebugPress لوحة أجاكس.

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

هنا نرى مكان تخزين السجل في التثبيت وحجم الملف. يمكنك استخدام الزر الأزرق الكبير لتحميل ملف السجل ، لكنني أخشى أنني لم أتمكن من القيام بذلك.

عرض سجل WordPress في DebugPress.
عرض سجل WordPress في DebugPress.

في كل مرة أنقر على هذا الزر الأزرق ، يتم تشغيل طلب AJAX بواسطة DebugPress ، والذي يُرجع خطأً. يمكننا رؤية هذا الطلب الفاشل في علامة تبويب AJAX الخاصة بـ DebugPress.

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

عند محاولة تحميل المعلومات من سجل WordPress ، يعطي DebugPress خطأ يمكننا رؤيته باستخدام DebugPress نفسه.
عند محاولة تحميل المعلومات من سجل WordPress ، يعطي DebugPress خطأ AJAX يمكننا رؤيته باستخدام DebugPress نفسه.

ومع ذلك ، كان هذا هو الجانب السلبي الوحيد الذي تمكنت من العثور عليه بعد اختبار شامل لوجهات النظر واللوحات المختلفة التي يوفرها DebugPress.

الرأي في DebugPress

على الرغم من أنه يمكن الرجوع إلى جميع المعلومات التي يوفرها لنا DebugPress من خلال وسائل أخرى ، إلا أن وجودها كلها في مكان واحد هو أهم شيء في هذا المكون الإضافي.

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

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

صورة مميزة بواسطة Xuan Nguyen على Unsplash.