فعال‌سازی حالت Debug وردپرس، یکی از بنیادی‌ترین مهارت‌های عیب‌یابی است که به توسعه‌دهنده امکان می‌دهد خطاهای پنهان را شناسایی و رفع کند. وردپرس به‌طور پیش‌فرض خطاها را نمایش نمی‌دهد و همین پنهان‌سازی، شناسایی ریشه مشکل را دشوار می‌کند. با فعال‌سازی حالت Debug، خطاها در قالب پیام‌های هشدار یا لاگ‌ها ظاهر می‌شوند و امکان ریشه‌یابی سریع‌تر فراهم می‌گردد. در این مقاله، چارچوبی عملی برای فعال‌سازی و استفاده از Debug در وردپرس ارائه می‌شود.

در پروژه‌های متعدد وردپرسی، دیده‌ام که تسلط بر Debug، تفاوت بین یک توسعه‌دهنده حرفه‌ای و یک توسعه‌دهنده مبتدی را می‌سازد. این مهارت، پایه عیب‌یابی هر مشکل در وردپرس محسوب می‌شود.

حالت Debug در وردپرس چیست؟

حالت Debug، مجموعه‌ای از تنظیمات در فایل wp-config.php است که رفتار وردپرس را در مواجهه با خطاها تغییر می‌دهد.

WP_DEBUG

پارامتر اصلی که حالت Debug را فعال می‌کند:

define( 'WP_DEBUG', true );

با این تنظیم، وردپرس خطاهای PHP را نمایش می‌دهد.

WP_DEBUG_LOG

ذخیره خطاها در فایل لاگ:

define( 'WP_DEBUG_LOG', true );

خطاها در فایل wp-content/debug.log ذخیره می‌شوند.

WP_DEBUG_DISPLAY

کنترل نمایش خطاها در صفحه:

define( 'WP_DEBUG_DISPLAY', false );

برای محیط تولید، باید روی false تنظیم شود.

SCRIPT_DEBUG

استفاده از نسخه غیرفشرده CSS و JS:

define( 'SCRIPT_DEBUG', true );

SAVEQUERIES

ذخیره کوئری‌های دیتابیس برای تحلیل:

define( 'SAVEQUERIES', true );

فعال‌سازی گام‌به‌گام

  1. بکاپ از فایل wp-config.php.
  2. ویرایش فایل با FTP یا cPanel.
  3. افزودن خطوط Debug.
  4. ذخیره و بررسی سایت.
  5. مشاهده لاگ در wp-content/debug.log.
  6. رفع خطاها.
  7. غیرفعال‌سازی پس از عیب‌یابی.

مسیر فایل لاگ

مسیر پیش‌فرض: wp-content/debug.log

برای مسیر سفارشی:

define( 'WP_DEBUG_LOG', '/path/to/debug.log' );

افزونه‌های Debug

  • Query Monitor: تحلیل کوئری‌ها، هوک‌ها و خطاها.
  • Debug Bar: نوار ابزار دیباگ.
  • Log Deprecated Notices: هشدارهای منسوخ.
  • WP Debugging: پیکربندی ساده.

خطاهای رایج

  • Fatal error در افزونه یا قالب.
  • Parse error در functions.php.
  • Warning: Undefined variable.
  • Notice: Only variable references.
  • Deprecated: Function is deprecated.

غیرفعال‌سازی پس از عیب‌یابی

پس از رفع خطاها، باید Debug غیرفعال شود:

define( 'WP_DEBUG', false );

ملاحظات امنیتی

  • فعال‌سازی Debug در محیط تولید ممنوع.
  • فایل debug.log باید محافظت شود.
  • حذف فایل‌های لاگ حساس.
  • محدودسازی دسترسی به wp-config.php.

رویکردهای توصیه‌شده

  • فعال‌سازی Debug فقط در محیط آزمایشگاهی.
  • استفاده از Query Monitor برای تحلیل دقیق.
  • پاک‌سازی دوره‌ای debug.log.
  • مستندسازی خطاهای رایج.
  • رعایت امنیت در محیط تولید.

اشتباهات رایج

اشتباهاثر عملیاتی
فعال‌سازی Debug در تولیدنمایش خطا به کاربران
نادیده گرفتن WP_DEBUG_DISPLAYنمایش خطاها در front-end
نبود بکاپ wp-config.phpاز دست رفتن تنظیمات
عدم غیرفعال‌سازی پس از عیب‌یابیریسک امنیتی
نادیده گرفتن debug.logتجمع حجم
نبود دسترسی به فایل لاگدشواری عیب‌یابی
عدم استفاده از Query Monitorعدم تحلیل دقیق
نادیده گرفتن Deprecated noticesمشکلات آینده
حذف نکردن فایل لاگافشای اطلاعات
نبود مستندسازیسردرگمی در آینده

پرسش‌های پرتکرار

چگونه Debug را در وردپرس فعال کنم؟

با افزودن define( 'WP_DEBUG', true ); به فایل wp-config.php.

آیا Debug در محیط تولید ایمن است؟

خیر. باید غیرفعال باشد و فقط در محیط آزمایشگاهی استفاده شود.

فایل debug.log کجاست؟

در wp-content/debug.log.

چگونه خطاها را در صفحه نمایش ندهم؟

با define( 'WP_DEBUG_DISPLAY', false );

Query Monitor چه کاربردی دارد؟

ابزاری برای تحلیل کوئری‌ها، هوک‌ها، خطاها و عملکرد.

آیا SCRIPT_DEBUG بر عملکرد اثر دارد؟

بله، استفاده از نسخه غیرفشرده، حجم را افزایش می‌دهد.

چگونه خطاهای Deprecated را رفع کنم؟

با به‌روزرسانی افزونه‌ها، قالب‌ها و کدهای سفارشی.

آیا Debug بر سئو اثر دارد؟

خیر. اثر مستقیم ندارد اما در صورت فعال بودن در تولید، می‌تواند بر تجربه کاربر اثر بگذارد.

پایان‌بندی

فعال‌سازی حالت Debug، یکی از بنیادی‌ترین مهارت‌های عیب‌یابی در وردپرس است. با تنظیم درست پارامترهای Debug، می‌توان خطاها را شناسایی و رفع کرد.

از منظر مهندسی سطح ارشد، سه اصل در استفاده از Debug تعیین‌کننده است: فعال‌سازی فقط در محیط آزمایشگاهی، ذخیره خطاها در فایل لاگ و غیرفعال‌سازی پس از عیب‌یابی.

برای درک عمیق‌تر، مقاله چرا وردپرس خطا نشان می‌دهد و رفع با Debug و مقاله راهنمای جامع رفع خطاهای رایج وردپرس را مطالعه کنید.

اگر در پروژه‌های خود تجربه‌ای از Debug وردپرس داشته‌اید، تجربه‌تان را در دیدگاه‌ها بنویسید. 🐛