ممکن است با این مشکل مواجه شوید که مثلا میخواهید وارد پیشخوان وردپرس شوید و یا حتی روی صفحات اصلی سایت، به شما این خطا نمایش داده شود:
There has been a critical error on this website.
یا
یک خطای مهم در وب سایت شما رخ داده است
در برخی از اوقات که خطا زیاد جدی نیست، در ادامهٔ این خطا به شما گفته که اطلاعات تکمیلی به ایمیل مدیر سایت ارسال شده است. اگر به آن ایمیل مراجعه کنید، معمولا میتوانید متوجه شوید که کدام افزونه یا قالب است که باعث بروز چنین خطایی شده است. چون این خطا خود به خود به خود نخواهد آمد. بلکه اگر کدی اشتباه در یکی از فایلهای افزونه یا قالب شما جایگذاری شده باشد، این طور خواهد شد. درون ایمیل باید اثر یا نامی از افزونه یا قالب پیدا کنید و سپس آن را غیرفعال کنید.
معمولاً بعد از اعمال تغییرات روی سایت مثل نصب یک افزونهٔ خراب و یا تغییرات روی قالب و یا حتی اعمال تغییراتی روی فایلهای اصلی وردپرس به علت آلوده شده سایت، این خطا مشاهده میشود. پس اگر با چنین موردی مواجه شدید زیاد نگران نباشید. معمولا در بیشتر مواقع راهکار ساده است؛ غیرفعال کردن افزونه یا قالب مشکل ساز.
اما اگر ایمیلی دریافت نکرده باشید، این نشان دهندهٔ این موضوع است که حتی هستهٔ برطرف کنندهٔ ایراد در وردپرس هم نتوانسته در چنین شرایطی کار خودش را انجام دهد. بنابراین باید خودتان دست به کار شده و گزارش گیری یا حالت رفع ایراد وردپرس را فعال کنید و شروع به ایراد یابی نمایید.
یکی از قابلیتهای جالب وردپرس که در نسخههای جدید به آن اضافه شده است، همین رفع ایراد خودکار یا Recovery Mode است. یعنی میتواند تشخیص دهد که کدام افزونه یا قالب مشکل درست کرده است و حداقل با ورود به پیشخوان به شما میگوید که باید آن را غیرفعال نمایید. این در حالی است که پیام ارسال ایمیل به شما نشان داده شود. یعنی هستهٔ رفع ایراد وردرپس هنوز در حال کار است. در این حالت اگر به صفحهٔ افزونههای نصب شدهٔ وردپرس هم مراجعه کنید، افزونهٔ مشکل ساز با یک هشدار قرمز رنگ مشخص شده است. باید آن را غیرفعال و سپس حذفش نمایید.
اما اگر دستی خواسته باشید این خطا را برطرف کنید میتوانید یکی یکی مراحل زیر را طی کنید.
تمامی افزونههای وردپرس را غیرفعال کنید
در اولین گام با رفتن به پوشهٔ wp-content و سپس تغییر نام پوشهٔ plugins تمامی افزونههای وردپرس را غیرفعال کنید. اگر با این کار مشکل رفع شد، پس حتما دست یکی از افزونهها در کار است. حالا باید مجدد نام پوشهٔ افزونهها را به حالت قبل برگردانید و همین کار را یکی یکی برای تک تک پوشههای درون plugins انجام دهید تا ببینید کدام افزونه است که مسبب بروز این خطا شده است.
یک روش دیگر هم برای غیرفعال کردن کل افزونههای وردپرس استفاده از phpMyAdmin و دستکاری متغیرهای موجود در دیتابیس وردپرس است. برای این کار وارد جدول wp_options شوید. به دنبال رکورد active_plugins بگردید و مقدار option_value آن را به a:0:{}
تغییر دهید. با این کار اگر مشکل از افزونههای وردپرس باشد، میتوانید وارد پیشخوان شوید. مقدار قبلی آن را هم حتما در جایی یادداشت کنید تا زمانی که خواستید همه چیز را به حالت قبلی درآورید، بتوانید.
فعال کردن قالب پیش فرض
اگر مشکل از قالب باشد، با سوییچ به یکی از قالبهای پیش فرض وردپرس میتوانید علت را پیدا کنید. پس همان کاری که برای غیرفعال کردن افزونههای وردپرس از طریق File Manager یا FTP برای تغییر نام پوشههای افزونهها انجام دادید، برای قالب های وردپرس به جهت غیرفعال سازی آنها هم میتوانید انجام دهید.
گاهی اوقات فایلهای قالب سایت تغییر میکنند که باید با فایلهای اصلی جایگزین شوند تا مشکل رفع گردد.
نصب مجدد وردپرس
گاهی از اوقات هم به علت آلوده شده سایت و یا هک آن، فایلهای اصلی وردپرس خراب میشوند که راه کار سادهٔ حل مساله جایگزین کردن فایلهای وردپرس است. پس یک فایل فشردهٔ وردپرس را که هم نسخه با وردپرس فعلیتان است را دانلود کنید و روی هاست آپلود نمایید. سپس از حالت فشرده خارجش کنید و تمام. الان باید مشکل برطرف شده باشد.
هر چند که حرفهای تر ها ترجیح میدهند که تا ابتدا پوشههای قبلی را پاک کنند که اگر فایل اضافهای هم اضافه شده حذف گردد. سپس فایلهای جدید وردپرس را جایگزین نمایند.
فعال کردن حالت رفع ایراد یا Debugging
راهکار بسیار خوب دیگر فعال کردن حالت رفع ایراد وردپرس است که در این حالت خود وردپرس به شما میگوید که چه کارش است. البته به زبان فنی که شاید نیاز باشد تا کمی دانش برنامه نویسی داشته باشید. برای این منظور حتما از آموزش فعال سازی حالت ایرادیابی وردپرس Debug Mode برای رفع خطا استفاده کنید.
افزایش میزان محدودیت حافظه رم یا PHP Memory Limit
گاهی از اوقات هم به علت کم بودن میزان حافظه ram برای استفاده توسط PHP این خطا رخ میدهد. برای این کار باید از کد زیر در سند wp-config.php خود استفاده نمایید.
define( 'WP_MEMORY_LIMIT', '512M' );
البته در خود کنترل پنل (سی پنل) هم بررسی کنید که این محدودیت زیاد کم تنظیم نشده باشد.
تغییر نسخه PHP
در انتها هم خیلی محتمل است که به علت استفاده از نسخهٔ جدید PHP روی افزونهٔ قدیمی وردپرس با این خطا مواجه شدید. اگر نسخهٔ PHP هاست خود را به روز کردید، حتما باید تمامی افزونهها و قالب سایت شما هم مطابق با نسخهٔ جدید به روز رسانی شده باشند. اگر از افزونههای رایگان استفاده میکنید، توسعه دهندگان آنها به رایگان این کار را انجام میدهند. اگر توسعه دهندهٔ آنها خودتان هستید باید فایلهای افزونه یا پوسته را باز کنید و بگردید دنبال ایراد. البته در این حالت فعال کردن حالت رفع ایراد وردپرس خیلی به شما میتواند کمک کند.
گاهی از اوقات هم بالا بردن نسخه PHP میتواند مشکل تان را حل کند. به هر حال امتحان کردن آن ضرری ندارد. چون ممکن است یک افزونه یا قالب جدید نصب کرده باشید که با نسخههای قدیمی PHP سازگار نباشد. باید همیشه برای تمامی اجزای سایت خود این سازگاریها را در نظر بگیرید.
این مراحلی بود که شما میبایستی برای رفع خطای مهمی که وردپرس به شما نمایش میدهد انجام دهید و در هر مرحله اگر مشکل رفع شد، پس کارتان را به درستی انجام دادید.