رفع خطای Fatal Error در وردپرس
خطای Fatal Error ممکن است سایت شما را از دسترس خارج کند، اما با چند گام ساده میتوان آن را برطرف کرد. در این مقاله بهترین و عملیترین روشها را توضیح دادهایم.
چرا این خطا نگرانکننده است؟
عبارت Fatal Error به معنی «خطای کشنده» است؛ یعنی اجرای اسکریپت PHP متوقف شده و میتواند کل سایت را خراب کند. اما خوشبختانه این پیغام معمولاً حاوی مسیر خطا (stack trace) است که به شما میگوید مشکل از کجا آغاز شده — این اطلاعات کلیدی است.
گام ۱ — دقیقاً پیام خطا را بخوانید
وقتی پیام خطا نمایش داده میشود، بعد از عبارت Fatal Error مسیر فایل و خط رخداد نوشته میشود. همین مسیر معمولاً نشاندهندهٔ قالب یا افزونهٔ مشکلدار است:
مثال: Fatal error: Uncaught Error: Call to undefined function in /home/your-site/public_html/wp-content/themes/your-theme/functions.php on line 123
از این مسیر برای تصمیمگیری دربارهٔ گامهای بعدی استفاده کنید.
گام ۲ — آپدیت نسخه PHP (پیشنهاد اولیه)
یکی از شایعترین دلایل Fatal Error، قدیمی بودن نسخه PHP سرور است. برای رفع:
- وارد پنل هاست خود (مثل cPanel) شوید.
- به بخش Software > Select PHP Version بروید.
- نسخهٔ PHP را به نسخهٔ پشتیبانیشده (مثلاً 8.x یا حداقل نسخه پیشنهادی وردپرس/قالب) ارتقا دهید.
نکته: اگر بلافاصله مشکل حل نشد، یک یا دو نسخهٔ دیگر PHP را هم تست کنید؛ گاهی قالب یا افزونه با نسخهٔ مشخصی سازگارتر است.
گام ۳ — تست قالب (Theme)
اگر در پیام خطا مسیر wp-content/themes دیده میشود، احتمال بالایی وجود دارد که مشکل از قالب باشد—خصوصاً اگر خطا بعد از آپدیت قالب ظاهر شده.
روش سریع برای تشخیص:
- با یک نرمافزار FTP (مثل FileZilla) یا از File Manager هاست وارد مسیر
/wp-content/themesشوید. - پوشهٔ قالب فعلی را بهطور موقت تغییر نام دهید (مثلاً
old-theme). - وردپرس بهطور خودکار یکی از قالبهای پیشفرض را فعال میکند؛ اگر سایت بالا آمد، مشکل از قالب بوده است.
اگر مشکل از قالب است، پوشه را به نام اصلی برگردانید و قالب را بهصورت دستی آپدیت کنید (آپلود فایل قالب جدید از طریق FTP).
گام ۴ — تست افزونهها (Plugins)
اگر تغییر نام قالب مشکل را حل نکرد، احتمالاً یکی از افزونهها باعث ایجاد خطاست. تشخیص سریع:
- وارد مسیر
/wp-contentشوید. - پوشهٔ
pluginsرا موقتاً تغییر نام دهید (مثلاًplugins-old). - همهٔ افزونهها غیرفعال میشوند؛ بررسی کنید آیا خطا برطرف شده است یا خیر.
اگر مشکل حل شد، پوشه را به نام plugins بازگردانید و سپس افزونهها را یکییکی فعال کنید تا افزونهٔ مشکلزا را شناسایی نمایید. پس از یافتن افزونهٔ معیوب، آن را آپدیت، غیرفعال یا با گزینهٔ مشابه جایگزین کنید.
نکات تکمیلی و توصیهها
- قبل از هر تغییر مهم، از فایلها و دیتابیس بکآپ بگیرید.
- اگر امکان دارد ابتدا تغییرات را روی لوکالهاست یا محیط staging تست کنید، سپس به سرور اصلی منتقل کنید.
- مستندات قالب و افزونهها را بررسی کنید؛ ممکن است نسخهٔ PHP مناسب یا نیازمندیهای دیگری ذکر شده باشد.
- در صورتی که خطا مربوط به کد دلخواه شما (custom code) است، آن قطعه کد را بهطور موقت حذف یا غیرفعال کنید تا بررسی شود.




