برخی اوقات زمانی که شما با مشکلی در وردپرس مواجه میشوید دوست دارید بدانید این مشکل دقیقاً از کدام قالب یا افزونه است. در این صورت شما دوست ندارید یکییکی افزونهها را غیرفعال کرده و یا قالب سایتتان را تغییر دهید؛ و میخواهید بدانید چرا صفحه سایت وردپرس شما سفید میشود و یا خطای ۵۰۰ را مشاهده میکنید. برای حل این مشکل وردپرس شما میتوانید از یک آپشن مفید و کارآمد وردپرس بنام دیباگ وردپرس استفاده کنید. عملکرد یک سایت به عوامل مختلفی بستگی دارد و درواقع هیچیک از سیستمهای مدیریت محتوا نیستند که هیچ ایرادی نداشته باشند. عوامل زیادی وجود دارد که بر عملکرد سایت شما تأثیر میگذارد و همچنین ممکن است هریک از نرمافزارهای موجود و یا قالب و افزونهها اثرات مخربی بر سایت شما داشته باشند. درنتیجه شما بهواسطه wp-debug میتوانید سیستم خود را رفع ایراد کنید و خرابی موجود در آن را بررسی کنید فعال سازی دیباگ وردپرس را ما در این مقاله به شما آموزش می دهیم.
بنابراین شما بهعنوان مدیر سایت میتوانید عیب و ایرادات موجود در سایت وردپرسی خود را توسط wp-debug برطرف کرده و مانع از بروز خطا در سیستم خود شوید. شما میتوانید از این آپشن مفید و کارآمد استفاده کرده و از آن در جهت رفع مشکلات سیستم خود کمک بگیرید.
این ابزار بهصورت پیشفرض در سیستم شما وجود دارد و شما میتوانید از آن بهسادگی استفاده کنید. wp-debug بهصورت خیلی عالی ایرادات سایت شما را به شما نمایش میدهد و شما میتوانید از این قابلیت وردپرس در جهت بهبود عملکرد سایتتان استفاده کنید و با رفع ایرادات آن بتوانید خدمات بهتری را به کاربران خود ارائه کنید.
حالت دیباگ وردپرس چیست؟
بیشتر کاربرانی که در حال توسعه و ایجاد تغییرات در کدنویسی افزونهها و قالب وردپرس هستند از ابزار دیباگ وردپرس غافل هستند و بخاطر همین موضوع خطاهایی که شاید در ظاهر در سایت نشون داده نشه رو نخواهند دید. اما همین خطاهایی که در ظاهر سایت تاثیری نمیزارن، باعث کندی سایت میشن که اگر حالت دیباگ وردپرس فعال باشه به راحتی میشه از این مشکلات مطلع شده و کدها را به صورت بهینه در وردپرس نوشت.
دیباگ وردپرس یا همون wp_debug بهترین ابزار برای عیب یابی در وردپرس و رفع مشکلات سایت هست که با استفاده از این ابزار میتونید منبع و سورسی که باعث خطا میشه را یافته و برطرف کنید. WP_DEBUG وردپرس یک ثابت از نوع بولین Boolean هست که داخل فایل wp-config.php تعریف میشه و با استفاده از این تابع میشه خطاهای موجود در سایت را مشاهده کرد. این تابع میتونه از دو مقدار true و false پیروی بکنه که به ترتیب مربوط به فعال بودن یا غیرفعال بودن اون هستند. در صورتی که مقدار روی true قرار گرفته باشه دیباگ وردپرس فعال بوده و میتونید خطاهای وردپرس را بررسی کنید. اما اگر مقدار اون روی false باشه خطایی نمایش داده نمیشه. اما در همه موارد خطاهایی که نشون داده میشه واقعا یک خطا نیستند و در برخی موارد فقط توصیه هستند که به شما گفته میشه باید بررسیشون کنید.
فعال سازی دیباگ وردپرس
برای فعال کردن WP_DEBUG در وردپرس باید ابتدا وارد هاست خود شده و روی گزینه File Manager کلیک کنید تا به صفحه مدیریت فایلها در هاست هدایت بشید و سپس به مسیر public_html مراجعه کنید.
حالا که وارد مسیر نصب وردپرس در public_html شدید باید در این مسیر به دنبال فایل wp-config.php بگردید. بعد از پیدا کردن فایل روی اون راست کلیک کرده و گزینه EDIT را انتخاب کنید تا صفحه ویرایش فایل باز بشه. حالا با استفاده از کلیدهای ترکیبی CTRL + F داخل کدهای این فایل به دنبال WP_DEBUG بگردید.
اگر با جستجوی عبارت WP_DEBUG هیچ نتیجه ای پیدا نشد به این معنی که کر مربوط به فعال کردن دیباگ در وردپرس وجود نداره که باید به صورت دستی این کد را اضافه کنید. بنابراین کد زیر را درست قبل از خط /* That’s all, stop editing! Happy blogging. */ قرار داده و فایل را ذخیره کنید.
define( 'WP_DEBUG', true );
حالا همونطور که در بالا گفتم اگر دقت کنید در این تابع برای دیباگ وردپرس مقدار true قرار داده شده که به معنی فعال بودن حالت دیباگ وردپرس هست. اگر این مقدار به جای true روی false تنظیم بشه حالت دیباگ وردپرس غیرفعال شده و خطایی در سایت نمایش داده نخواهد شد. پس بعد از فعال کردن دیباگ وردپرس اقدام به رفع خطاهای وردپرس بکنید و بعد از اتمام رفع خطا هم حتما مقدار true را به false تغییر بدین.
دیباگ وردپرس فعال یا غیرفعال؟
از اونجایی که همیشه کدهایی که به صورت خطا یا توصیه در صورت فعال بودن دیباگ وردپرس نمایش داده میشن بنابراین در صورتی که خطا یا یادداشتی وجود نداشته باشه هیچ پیغام خطایی در صفحه نشون داده نمیشه. اما گاها پیش میاد که به دلیل آپدیت نرم افزارهای روی سرور و تغییراتی که اعمال میشه، ممکنه روی افزونه یا قالب وردپرس تاثیر بزاره و باعث نمایش دادن خطاهای وردپرس در بالای سایت بشه که دیدن چنین منظرهای برای کاربران حس بی اعتمادی خواهد داشت. پس همیشه فقط و فقط از حالت دیباگ وردپرس وقتی استفاده کنید که در حال ایجاد تغییرات در کدنویسی سایت و توسعه وردپرس هستید. بعد از اینکه کارها تموم شد میتونید دیباگ وردپرس را غیرفعال کنید.
غیرفعال کردن نمایش خطا دیباگ وردپرس
یکی از قابلیتهایی که دیباگ وردپرس در اختیارتون قرار میده اینه که با استفاده از یک تابع دیگه که زیر مجموعهای از همین دیباگ وردپرس به حساب میاد و اسمشو WP_DEBUG_DISPLAY گذاشتند، میتونید خطاهای مربوط به فعال کردن دیباگ وردپرس را به صورت دلخواه انتخاب کنید که نمایش داده بشن یا اینکه نمایش داده نشن. برای این منظور باید این تابع را درست بعد از خطی که حالت دیباگ وردپرس را فعال کردید قرار بدین. دقت کنید که به صورت پیش فرض این حالت فعال هست و خطاها نمایش داده میشه، اما برای غیرفعال کردن نمایش خطاهای وردپرس در WP_DEBUG_DISPLAY باید کد زیر را بعد از خط دیباگ وردپرس قرار بدین.
define('WP_DEBUG_DISPLAY', false);
ایجاد لاگ خطا در فعال سازی دیباگ وردپرس
یکی دیگه از توابع زیر مجموعه دیباگ وردپرس به نام WP_DEBUG_LOG ایجاد شده که با استفاده از این تابع میتونید خطاهای دیباگ وردپرس را در یک فایل log ذخیره کنید که در هر بار که خطایی در سایت رخ میده، این خطاها به همراه مسیردهی که دارند در این فایل ذخیره شده و میتونید با بررسی خطاهای موجود در این فایل بر اساس بازه زمانی که برای هر خطا تاریخ و ساعت دقیق بروز خطا ثبت میشه بدونید که مشکل به وجود اومدن خطا در سایت مربوط به چه فایلی است. برای فعال کردن لاگ دیباگ وردپرس باید تابع زیر را هم بعد از قطعه کد مربوط به فعال سازی دیباگ وردپرس قرار بدین.
define('WP_DEBUG_LOG', true);
همونطور که میبینید در این قطعه کد هم مقدار true انتخاب شده که در این صورت فایلی با نام debug.log داخل پوشه wp-content در هاست شما ساخته میشه که هر زمان خطایی در وردپرس به وجود میاد بر اساس تاریخ و ساعت بروز خطا در هر خط از این فایل ذخیره میشه که با بررسی اون میتونید خطاهای وردپرس را برطرف کنید. اگر بخواهیم که هر سه تابع بالا را به صورت فعال شده در وردپرس استفاده کنیم به طوری که هم دیباگ وردپرس فعال بشه، هم خطاها در بخش کاربری سایت نشون داده نشه و هم اینکه خطاها در یک فایل لاگ ذخیره بشن باید از کدها به صورت ترکیب زیر استفاده کنیم.
// Turn debugging on define('WP_DEBUG', true); // Tell WordPress to log everything to /wp-content/debug.log define('WP_DEBUG_LOG', true); // Turn off the display of error messages on your site define('WP_DEBUG_DISPLAY', false);