ماهو ملف pluggable.php في وردبريس؟ وكيف نحل أخطاءه؟

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

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

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

سنشرح لك ما هي أخطاء الملف Pluggable.php، وأسبابها وكيفية تحديد موقعها من خلال الرسالة الظاهرة في موقعك. كما سنتسعرض لك طرق حلها خطوة بخطوة من خلال لوحة تحكم الاستضافة في حال منعتك من الدخول لموقعك. 

ماهو خطأ الملف pluggable.php file error في ووردبريس؟

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

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

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

فكما هو معروف فإن ووردبريس هو نظام إدارة محتوى (CMS) قائم على لغة البرمجة PHP بشكل أساسي، وبالتالي فإن جميع إضافاته وقوالبه تستخدم  لغة PHP.

وبالتالي عندما تتعارض إضافة ما أو قالب ما أو كود برمجي ما مع الكود الأساسي لهذا النظام فهذا قد يتسبب هذا في حدوث خطأ الملف Pluggable.php.

فالملف pluggable.php هو عبارة أحد الملفات الأساسية في نواة نظام ووردبريس (WordPress Core)  يحتوي على بعض وظائف ووردبريس الأساسية التي يمكن للمستخدمين والمطورين تجاوزها من خلال كتابة التعليمات البرمجية الخاصة بهم. 

ويتيح ووردبريس للمستخدمين والإضافات تجاوز هذه الوظائف الأساسية.  لكن عندما تتعارض هذه الإضافات أو الأكواد المكتوبة مع الوظائف الأساسية تظهر عندها رسالة الخطأ (pluggable.php Error) على الشاشة كمسار للموقع الذي حدث فيه الخطأ.

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

ففي السطر الأول في الصورة السابقة يمكن أن تعثر على المعلومات التالية:

 Warning: Invalid argument supplied for foreach () in /home/username/dempsite/wp-content/plugin/some-plugins/some-plugin.php on line 135

(username) هو اسم المستخدم في الاستضافة.

( dempsite) هو اسم المجلد الجذر لموقعك الووردبريس.

(some-plugin) هو اسم مجلد الإضافة التي تسببت بوقوع الخطأ.

(line 135) هو رقم السطر الذي سبب الخطأ في الملف pluggable.php.

تنبيه: ملف pluggable.php هو ملف أساسي في نواة الووردبريس الرئيسي وهو المسؤول عن تنظيم عمل جميع وظائف ومهام موقع الووردبريس؛ ولا ينصح أبدًا بمحاولة التعديل عليه بشكل مباشر لحل هذا الخطأ عند ظهور رسالة خطأ مشابهة لما سبق. 


أسباب ظهور خطأ pluggable.php وكيفية التعامل معها

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

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

السبب الأول: الخطأ بسبب وجود مشكلة في القالب Theme

في  هذه الحالة سوف تظهر رسالة الخطأ المعروضة في الموقع بأن خطأ الملف pluggable.php صادر عن أحد الملفات  الموجودة في مجلد القالب المثبت على الووردبريس، على سبيل المثال، الرسالة التالية تظهر أن خطأ الملف Pluggable.php بسبب ملف القالب (function.php) وتحديدًا في السطر رقم  1035.

Warning: Cannot modify header information – headers already sent by (output startedat/home/username/demosite/wp-content/themes/<span class="has-inline-color has-vivid-red-color"><strong>mytheme/functions.php:1035</strong></span>) in/home/username/demosite/wp-includes/<strong>pluggable.php </strong>on line 1179

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

اقرأ المزيد حول الملف functions.php في ووردبريس وأهميته وكيفية تحريره

السبب الثاني: الخطأ بسبب وجود مشكلة في أحد الإضافات 

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

Warning: Cannot modify header information – headers already sent by (output startedat/home/username/demosite/wp-content/plugins/some-plugin-name/some-plugin.php:144) in /home/username/demosite/wp-includes/pluggable.php on line 1090

حيث يظهر في هذه الرسالة السابقة أن الخطأ ناتج عن ملف الإضافة some-plugin.php الموجود في المجلد  some-plugin-name  داخل مجلد الإضافات في موقعك plugins وتحديدًا  في السطر رقم 144.

السبب الثالث: الخطأ بسبب وجود مسافة في كود php

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

لهذا السبب ننصحك في هذه الحال بالذهاب إلى الملف الموضح في الرسالة،  والتأكد من عدم وجود أي مسافات أو فراغات في هذا الملف قبل أو بعد وسمي الفتح والإغلاق >?php  و ؟< للملف البرمجي المذكور. كما يجب التأكد من عدم وجود فراغات بعد السطر البرمجي  الأخير من هذا الملف.

كيف يمكنك حل مشاكل خطأ Pluggable.php؟

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

1- قم بتعطيل الإضافة أو القالب التي سببت الخطأ

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

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

على سبيل المثال إذا فرضنا ظهور رسالة الخطأ بهذا الشكل، فنفهم منها أن سبب المشكلة هو في إضافة (elementor)، في الملف (elementor.php) وتحديدًا  في السطر رقم 81.

Warning: Cannot modify header information – headers already sent by (output startedat/home/username/demosite/wp-content/plugins/elementor/elementor.php:81) in /home/username/demosite/wp-includes/pluggable.php on line 1090

في حال كنت تستطيع الدخول للوحة تحكم موقعك قم بتعطيل إضافة Elementor من هناك. وفي حال لم تتمكن من ذلك عليك الدخول للوحة تحكم الاستضافة، واختيار مدير الملف File Manager  واتباع الخطوات التالية (يمكن اتباع نفس الخطوات سواء كان المتسبب في المشكلة هو إضافة أو قالب)

1- انتقل إلى  مدير الملفات (File manager) من لوحة تحكم الاستضافة.

2- افتح المجلد (puplic.html).

3- اختر المجلد (wp-content).

4- قم بفتح مجلد الإضافات Plugins أو مجلد القوالب Themes على حسب المكتوب في رسالة الخطأ.

5- اختر مجلد الإضافة الظاهرة في نص رسالة الخطأ، وهي في مثالنا إضافة (Elementor).

6- حدد الملف الموجود في رسالة الخطأ، وهو هنا (elementor.php).

7- قم بحذف مجلد الإضافة بالكامل Elementor من موقعك. 


2- حاول تصحيح كود الملف البرمجي المعطوب المتسبب بالخطأ (للمطورين)

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

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

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

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


3- حذف المسافات الزائدة إن وجدت في الملف المتسبب بالخطأ 

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

لاحظ هنا أنه يوجد سطر فارغ بعد آخر سطر في الكود يسبب الخطأ قم بحذفه ببساطة لحل الخطأ. 

4-تأكد من اختبار الأكواد على موقع تجريبي قبل استخدامها على موقعك المباشر

يفضل كإجراء وقائي أن لا تقم بإضافة أي أكواد إضافية خاصة من مصادر لم يتم التحقق منها لتخصيص موقعك المباشر قبل التأكد منها  على موقع محلي اختباري (أو موقع تجريبي Staging site) ولا تجربها مباشرة على موقعك الحي كي تتجنب ظهور صفحة خطأ (Pluggable.php) وتعطل موقعك الفعلي.

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

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

الخلاصة

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

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

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