آموزش حل خطای Cannot modify header information – headers already sent وردپرس

مسیح دیندار
مدیریت
عضو شده: 2021-04-12 14:23:35
2021-05-04 09:20:35

خطای Warning: Cannot modify header information – headers already sent by در وردپرس یکی از شایع ترین خطاها هست که کاربران وردپرسی با اون مواجه میشن. فایل 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 که در پوشه wp-includes قرار گرفته، توابع عمومی برای افزونه ها و توابع اجرایی وردپرس در نظر گرفته شده که به افزونه ها و قالب ها این اجازه رو میده که دستورات شخصی سازی شده خودشون رو استفاده کنند و گاها از توابع عمومی تعریف شده در این فایل استفاده کنند. ولی زمانی که کدنویسی برای استفاده از دستورات شخصی سازی شده ضعف کدنویسی داشته باشه و یا اون دستور نتونه به خوبی اجرا بشه، چنین خطایی دریافت می کنید. ولی چون این فایل در هسته وردپرس تعریف شده نباید دستکاری داخلش بکنید.

با دریافت این خطا، شما می تونید همچنان به فعالیت خودتون داخل سایت ادامه بدید و صرفا یک Warning یعنی هشدار هستش ولی باید نسبت به رفعش اقدام کنید چون این مشکل توی بعضی از ویژگی های سایتتون تأثیر میگذاره و باعث عدم کارکرد اونها میشه.

توی متن خطایی که دادم اگه دقت کنید، دو تا فایل PHP مشخص شدن. یکی مربوط به فایل functions.php قالب و یکی pluggable.php هسته وردپرس. چیزی که داخل متن خطا هم هست در خط 1035 فایل functions.php قالبمون کدی وجود داره که مشکل دار هست. به راحتی سراغ اون کد میریم و مشکل رو حل می کنیم و یا سعی می کنیم از کدهای جایگزین براش استفاده کنیم که مشکلمون حل بشه و این تداخل هم رفع بشه.

در آدرس و خطی که متن خطا داده، کدها به هر صورتی ممکنه مشکل ساختاری داشته باشند که نیاز هست دقیق تر بررسی بشن اما شایع ترین خطاهای کدنویسی اینه که داخل اون کد از ?> استفاده شده باشه در صورتی که برای اول کد از <? php استفاده نشده! این دو تگ فقط می تونند در اول و آخر فایل functions.php استفاده بشن. اگه این دو تگ رو در اواسط فایلتون پیدا کردید، حذفشون کنید.