در این آموزش قصد داریم به آموزش رفع خطای Cannot Modify Header Information در وردپرس بپردازیم.خطای Cannot Modify Header Information در وردپرس یکی از رایح ترین خطاها در وردپرس است که به ما می گوید که یکی از فایل های قالب یا افزونه سایت ما دچار مشکل شده است و باید آن را حل کنیم.
شاید شما هم شنیده باشید که جواب هر مسئله و مشکلی در دل آن مسئله وجود دارد،در زبان های برنامه نویسی این مثال کاملا صدق می کند.وردپرس هم یکی از سیستم های مدیریت محتوایی می باشد که از زبان php استفاده می کند،لذا با استفاده از خطاهایی که به هر دلیل به وجود می آید می توانیم نوع خطا،مسیر خطا و این که در چه فایلی و چه خطی از کد های سایت ما ایجاد شده است را متوجه بشویم.
بنابراین قدم اول در هر مسئله ای این است که اشراف کامل بر خطا داشته باشیم تا بتوانیم نوع خطا و مکان دقیق خطا را شناسایی و سپس برای حل آن اقدام کنیم.در ادامه با ما همراه باشید تا ضمن معرفی دلایل ایجاد خطای Cannot Modify Header Information،به حل این مسئله نیز بپردازیم.
علت بروز خطای Cannot Modify Header Information
اگر بنا به هر دلیلی یک کد مخرب در فایل header سایت شما یا فایل های php شما وجود داشته باشد ممکن است با این خطا مواجه شوید.خوشخبتانه می توان گفت که به راحتی و مطالعه دقیق این خطا می توانیم به راحتی از این مسئله عبور کنیم.
این خطا شامل دو قسمت است که در قسمت اول مکان دقیق خطا و در قسمت دوم جایی را به ما نشان می دهد که به واسطه وجود این خطا،به مشکل خورده است و نمی تواند به درستی اجرا شود.
Warning: Cannot modify header information – headers already sent by
(output started at /public_html/wp-content/plugins/my-plugin/my-functions.php:#)
in /public_html/wp-includes/pluggable.php on line #
برخی از دلایلی که باعث بروز خطای Headers Already Sent By می شود به شرح زیر می باشد:
- فضاهای خالی قبل از بسته شدن تگ PHP
- یک بلوک HTML قبل از تابع هدر PHP
- print یا echo و عباراتی که قبل از تابع هدر PHP اضافه شده است
- تداخل افزونه ای یا مشکل با کد یک افزونه یا قالب سایت
نحوه رفع ارور Cannot Modify Header Information – Headers Already Sent By
در ادامه قصد داریم با استفاده از دو روش به رفع خطای Cannot Modify Header Information در وردپرس بپردازیم.روش اول از طریق پیشخوان وردپرس قابل انجام است و روش دوم از طریق هاست سایتتان.اگر به پنل پییشخوان سایت خود دسترسی ندارید می توانید از طریق روش دوم اقدام به حل این مشکل نمایید.
از طریق پیشخوان
اگر به پیشخوان وردپرس دسترسی دارید ابتدا باید وارد پیشخوان وردپرس شوید،در مرحله بعد برای ویرایش پوسته،وارد مسیر نمایش > ویرایشگر پرونده پوسته و برای افزونه وارد مسیر افزونه ها > ویرایشگر پرونده افزونه شوید و فایلی که باعث بروز این خطا شده است را پیدا کنید.
پیدا کردن این فایل به راحتی قابل انجام است فقط کافی است تا مسیری که خطا به شما گفته است را دنبال کنید.به عنوان مثال در این خطا ما باید به دنبال فایل my-functions.php بگردیم چرا که خطای ما در این فایل ایجاد شده است.
همانطور که در تصویر بالا مشاهده می کنید یک فضای خالی قبل از تگ آغازین php ایجاد شده است که همین امر باعث بروز خطای Cannot Modify Header Information در وردپرس شده است.برای حل این مشکل کافی است تا این فضای اضافه را حذف کنیم و تعییرات را ذخیره سازی نماییم.به شما پیشنهاد می کنم برای حل خطاهایی که به فایل های پوسته یا افزونه شما بر میگردد حتما از یک متخصص کمک بگیرید تا دچار مشکلات احتمالی نشوید.
از طریق هاست و FTP
در بعضی شرایط شما برای رفع خطای Cannot Modify Header Information – Headers Already SentBy به پیشخوان وردپرس دسترسی ندارید،در این جا بهترین روش استفاده از هاست و FTP می باشد.
برای این کار کافی است تا وارد سی پنل شوید و از طریق مسیری که خطا به شما معرفی کرده است فایل خود را پیدا کنید.
به عنوان مثال در این خطایی که گفته شد،ما باید به آدرس زیر برای پیدا کردن فایل خود برویم:
/public_html/wp-content/plugins/my-plugin/my-functions.php
پس از این که فایل را پیدا کردید کافی است تا با راست کلیک بر روی گزینه Edit کلیک کنید و فایل مورد نظر خود را ویراییش کنید و در این مثال فضای خالی آن را پاک کنید و سپس دکمه ذخیره سازی را بزنید.
اگر مشکل حل نشد چه کار کنیم؟
اگر همچنان مشکل شما حل نشده بود شما در نهایت دو راه برای حل این مشکل خود در پیش دارید:
روش اول : این موضوع را با شرکت میزبان سایت خود در میان بگذارید،احتمالا بتوانند برای حل این مشکل به شما کمک کنند.
روش دوم : در نهایت اگر روش های گفته شده کارساز نبود می توانید از خدمات پشتیبانی فنی لامرد وب استفاده کنید.برای این کار می توانید از طریق راه های ارتباطی با ما در ارتباط باشید.