احتمالا اکنون که در حال مطالعه این مقاله هستید شما هم در سایت وردپرسی خود با ارور pluggable.php مواجه شدهاید. این خطا گاهی اوقات که یک قطعه کد را به فایلهای خود اضافه میکنید یا اینکه افزونه جدیدی را نصب یا بهتر است بگوییم فعال میکنید، رخ میدهد.
در این مقاله به شما نشان خواهم داد که خطای Pluggable.php وردپرس چرا رخ میدهد و اگر با این خطا مواجه شدید باید چه روشهایی را برای برطرف کردن این ارور انجام دهید.
علت خطای فایل Pluggable وردپرس چیست؟
همانطور که تقریباً از نام این فایل برداشت میشود وردپرس به کاربران(به صورت مستقیم)، افزونهها و پوستهی نصب شده این اجازه را میدهد تا برخی عملکردهای اصلی و پیشفرض وردپرس را نادیده بگیرند. این توابع در پرونده pluggable.php قرار دارند.
حال اگر یک افزونه وردپرس یا یک قطعه کد که میتواند در داخل افزونه اضافه شده باشد یا اینکه به صورت سفارشی در قالب درج شده باشد قادر به درستی انجام عملکرد صحیح نباشد، شما خطایی مانند کد زیر یا تصویر بالا مشاهده خواهید کرد.
Warning: Cannot modify header information – headers already sent by (output started at /home/username/demosite/wp-content/themes/mytheme/functions.php:1035) in /home/username/demosite/wp-includes/pluggable.php on line 1179
البته همیشه هم قرار نیست که این خطا را در سایت ببینید. گاهی اوقات سایت شما برای کاربران به درستی نمایش داده شده و خطایی نمایش داده نمیشود؛ اما اگر به صفحه اصلی پیشخوان وردپرس یا گاهاً صفحات داخلی مراجعه کنید مانند تصویر زیر خطا را خواهید دید.
حال که یک آشنایی مقدماتی با این فایل پیدا کردید در ادامه بیایید ببینیم که چگونه میتوان ارور Pluggable.php در وردپرس را برطرف کرد.
آموزش رفع ارور Pluggable.php در وردپرس
پرونده pluggable.php یک فایل اصلی از فایلهای وردپرس است. اینکه بخواهید فایل اصلی وردپرس مانند این را ویرایش کنید اصلاً ایده جالبی نیست؛ حتی اگر خطایی به دنبال این تغییرات وجود نداشته باشد.
برای رفع هرگونه خطای فایل pluggable.php وردپرس کافی است به اولین مسیر ذکر شده در خطا نگاه کنید. به عنوان مثال نمونه زیر را بررسی میکنیم.
Warning: Cannot modify header information – headers already sent by (output started at /home/username/demosite/wp-content/themes/mytheme/functions.php:1035) in /home/username/demosite/wp-includes/pluggable.php on line 1179
همانطور که در این خطا میبینید ارور در خط 1035 از فایل functions.php قالب رخ داده است که نشان میدهد یک کد سفارشی به آن اضافه شده است یا اینکه تغییراتی در آن ایجاد شده است. پس باید به ویرایش این فایل مراجعه کرده و ببینید که در خط 1035 کدام بخش از کدها دارای ایراد است تا آن را رفع کنید.
گاهی اوقات خطای ارسال شده توسط هدرها به دلیل ایجاد فضای خالی درست بعد از برچسب php؟> ایجاد میشود؛ بنابراین اگر دیدید کدها درست هستند بررسی کنید که یک خط Enter یا Space اضافه بین خطوط اگر وجود دارد آن را حذف کنید.
حال اجازه دهید نمونه دیگری را هم بررسی کنیم. در نمونه زیر اگر دقت کنید این خطا مربوط به یک افزونه است. اگر به مسیر افزونه در هاست دقت کنید پوشه این افزونه با نام some-plugin-name میباشد که فایلی با عنوان some-plugin.php حاوی خطاست که این خطا درست در خط 144 قرار دارد.
Warning: Cannot modify header information – headers already sent by (output started at /home/username/demosite/wp-content/plugins/some-plugin-name/some-plugin.php:144) in /home/username/demosite/wp-includes/pluggable.php on line 1090
برای رفع خطا در حالتی که برای افزونه رخ داده باشد هم کافی است به خط اشاره شده از فایل حاوی خطا مراجعه کرده و ببینید که خطاهای موجود چه اشکالی دارند. باز هم ذکر میکنیم که در صورتی که این ارور برای افزونه رخ داده باشد، باز هم ممکن است یک کاراکتر فضای خالی باعث بهوجود آمدن آن شده باشد.
به برنامه نویسی تسلطی ندارم؛ چطور کدها را اصلاح کنم؟
در بیشتر موارد این خطاها بیشتر به این خاطر رخ میدهند که کاراکترهایی مثل ()، {} یا ; جا افتادهاند که باعث رخ دادن خطا شده است. اگر شما از برنامههای کدنویسی مانند sublime text 3 استفاده کنید این برنامهها به این قابلیت مجهز هستند که در صورت جا افتادن یا وجود خطا یک آیکون خطا را نمایش میدهند و نشان خواهند داد که علت خطا دقیقاً چیست.
پس اگر با کدنویسی آشنایی ندارید کافی است از چنین برنامههایی برای رفع و اصلاح سریع کدها استفاده کنید. یا اینکه از یک توسعه دهنده وردپرس کمک بگیرید.