بروز خطا در فایل pluggable.php در وردپرس میتواند تجربهای گیجکننده و ناراحتکننده باشد، بهویژه اگر علت آن را نتواستهاید شناسایی کنید. این نوع خطاها معمولاً به دلیل تداخلهایی با قالبها، افزونهها یا اسکریپتهای کد سفارشی به وجود میآیند.
این مقاله ترجمه ای از محتوا how-to-fix-pluggable-php-file-errors-in-wordpress و مقاله وبسایت wpbeginner.com است که این موضوع پرداخته و تجربیات انها را در باره این موضوع نمایش داده است. همچنین تیم فریا با توجه به دانش و تجربه خود برخی بخش ها را بهبود داده است.
در این مقاله، قصد داریم به شما نشان دهیم که چگونه بهراحتی خطاهای مرتبط با فایل 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
گاهی اوقات، ممکن است بتوانید به کار خود در سایت وردپرسی ادامه دهید، حتی اگر این خطا یا خطای مشابهای در ناحیه مدیریت (داشبورد) هنوز ظاهر شود.
در ادامه به شما نشان خواهیم داد که چگونه به راحتی خطای فایل 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
در مثال بالا، خطا در فایل functions.php قالب در خط 1035 قرار دارد. این یعنی شما فقط باید فایل functions.php قالب خود را ویرایش کنید و کدهای ایجادکننده این خطا را تغییر دهید یا حذف کنید.
گاهی اوقات، خطای “headers already sent” به دلیل وجود یک فضای اضافی پس از تگ php بسته (?>) ایجاد میشود. در این صورت، با حذف این فضای اضافی، مشکل برطرف خواهد شد.
در اینجا یک مثال دیگر داریم:
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
این پیام خطا به یک افزونه در سایت وردپرس شما اشاره دارد که باعث بروز خطا شده است. شما میتوانید افزونه را غیرفعال کرده و نویسنده افزونه را در جریان بگذارید.
در اکثر موارد، خطاهایی که به فایل pluggable.php اشاره دارند، از خود فایل ایجاد نمیشوند. این خطاها معمولاً به دلیل کدهای سفارشی که به فایل functions.php اضافه کردهاید، افزونهای با کدنویسی ضعیف یا حتی قالب وردپرس شما به وجود میآیند. با حذف یا ویرایش کد مشکلساز یا غیرفعال کردن افزونه، خطا رفع خواهد شد.
نکته: استفاده از WPCode برای اضافه کردن اسکریپتهای کد در وردپرس گاهی از هز گونه تغییر مستقیم در سایت و کد های فانگشن بهتر است.
نظر تیم فریا: اسم افزونه در بانک افزونه های وردپرس insert-headers-and-footers است و گاهی هم در برخی مسخه ها به نام wpcode شناخته میشد .
اضافه کردن کد سفارشی به فایل functions.php گاهی اوقات میتواند باعث بروز خطاهای pluggable.php و سایر خطاهای وردپرس شود. در بدترین حالت، این کدها حتی ممکن است باعث خرابی سایت شما شوند.
به همین دلیل، ما توصیه میکنیم که به جای این کار از WPCode استفاده کنید. پس از آزمایشهای کامل، ما به این نتیجه رسیدیم که WPCode بهترین افزونه برای اضافه کردن اسکریپتهای کد در وردپرس است. این افزونه به شما این امکان را میدهد که کد سفارشی را به سایت خود اضافه کنید بدون اینکه باعث بروز مشکلاتی مانند خرابی سایت شود.
نحوه نصب و استفاده از WPCode:
ابتدا باید افزونه WPCode را نصب و فعال کنید. برای دستورالعملهای دقیقتر، به آموزش ما در مورد نحوه نصب افزونه در وردپرس مراجعه کنید.
پس از فعالسازی، به صفحه Code Snippets » + Add Snippet از داشبورد وردپرس بروید. در اینجا میتوانید روی دکمه ‘Use Snippet’ زیر گزینه ‘Add Your Custom Code (New Snippet)’ کلیک کنید. همچنین میتوانید از اسکریپتهای کد از پیش ساخته شدهای که در کتابخانه WPCode موجود است استفاده کنید.
این کار صفحه ‘Create Custom Snippet’ را باز میکند، جایی که میتوانید برای اسکریپت کد خود یک نام انتخاب کنید. سپس میتوانید نوع کد را از منوی کشویی سمت راست انتخاب کنید. در مرحله بعد، کد سفارشی خود را در جعبه ‘Code Preview’ وارد کنید و سوئیچ ‘Inactive’ را به ‘Active’ تغییر دهید.
در نهایت، روی دکمه ‘Save Snippet’ کلیک کنید تا تنظیمات شما ذخیره شود. حالا شما با موفقیت کد سفارشی را به سایت خود اضافه کردهاید.
نتیجهگیری
خطاهای فایل pluggable.php در وردپرس معمولاً به دلیل تداخلهای ناشی از افزونهها، قالبها یا کدهای سفارشی به وجود میآیند. این نوع خطاها را میتوان با شناسایی و اصلاح مکانهای مشخص شده در پیام خطا، مانند فایلهای functions.php یا افزونهها، به راحتی رفع کرد. همچنین، استفاده از ابزارهایی مانند WPCode برای اضافه کردن کدهای سفارشی به سایت وردپرس بهجای ویرایش مستقیم فایلهای اصلی، میتواند از بروز مشکلات جدی جلوگیری کند. در نهایت، با پیروی از مراحل سادهای که در این مقاله توضیح داده شد، میتوانید سایت وردپرس خود را بدون دردسر از این مشکلات رها کنید.
اگر به دنبال راهحلهای بیشتر برای مشکلات وردپرس خود هستید، میتوانید به سایت فریا مراجعه کنید، جایی که اطلاعات مفید و آموزشهای کامل برای رفع مشکلات و بهینهسازی وردپرس در دسترس است.
سوالات متداول
1. چرا خطای “headers already sent” به وجود میآید؟
این خطا معمولاً زمانی رخ میدهد که پیش از ارسال هدرها، خروجی به مرورگر ارسال شده باشد. این میتواند به دلیل فضای اضافی در انتهای تگهای PHP یا حتی خطاهای کدنویسی در فایلهای functions.php یا افزونهها باشد.
2. چگونه میتوانم از WPCode استفاده کنم؟
برای استفاده از WPCode، کافی است افزونه را نصب و فعال کنید، سپس به بخش Code Snippets » + Add Snippet بروید و کد سفارشی خود را اضافه کنید. این کار از تداخل با فایلهای اصلی وردپرس جلوگیری میکند.
3. آیا باید فایلهای اصلی وردپرس را ویرایش کنم؟
ویرایش فایلهای اصلی وردپرس معمولاً توصیه نمیشود. بهتر است از افزونهها و ابزارهایی مانند WPCode برای اضافه کردن کدهای سفارشی استفاده کنید تا از بروز مشکلات احتمالی جلوگیری شود.