برای اینکه دیگه نگید وردپرس بازی در میاره توی این مقاله از سایت رامون طالع آموزش دیباگ وردپرس دستبهدست مرحلهبهمرحله، با زبون خودمونی و خیلی ریلکس بهتون آموزش میدیم چطور دیباگ وردپرس رو از صفر تا صد یاد بگیرید. هر بخش رو توضیح میدم ، تا یه بار برای همیشه بفهمید دیباگ چیه و چطوری باید ازش استفاده کنید. خب بزن بریم!
عنوان های این مقاله
دیباگ وردپرس یعنی چی؟

دیباگ وردپرس یعنی اون لحظهای که سایتت یه خطا میده یا صفحه سفید میشه و نمیفهمی چرا، دیباگ مثل یه دستیار جیببر پشتصحنه میچرخت و نشون میده مشکل از کجاست. فرض کن سایتت بالا نمیاد یا وقتی یه افزونه نصب میکنی، سایتت مثل آدمهای خوابآلود کار میکنه، یا اصلاً یه قسمت از سایت اصلاً کار نمیکنه. دیباگ میاد و میگه: «هی داداش! پی اچ پی گفت اونجا یه چیزی اشتباهه. برو نگاه کن خط ۳۵ فایل wp-includes/functions.php هست.» درواقع کاری که واسه تو انجام میده اینه که به جای اینکه کلی وقت برای سرچ بخوای بذاری، مستقیم میره سراغ ریشه مشکل. این همون آموزش دیباگ وردپرس هست فهمیدن، پیدا کردن و رفع کردن خطاهای پنهان وردپرس.
چطوری حالت WP_DEBUG رو روشن کنیم؟
اول از همه صبر کن، وارد پوشه سایتت بشو، فایل wp-config.php رو پیدا کن و بازش کن. بعدش دقیقاً همین چند خط رو پیدا کن یا اگر نبود اضافش کن:
phpCopyEditdefine('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
با این سه خط ساده داریم چی کار میکنیم؟ اول اینکه GF روشن میکنیم تا وردپرس همه هشدارها، اخطارها و خطاهای PHP رو بفهمه. دوم، میگیم که هرچی اتفاق میافته، توی یه فایل لاگ به اسم debug.log ذخیره بشه. سوم هم هست تا جلوی نمایش خطاها رو جلوی چشم کاربرا بگیرهbتا سایتت ظاهر تر و تمیز بمونه. بعدش وقتی مشکل پیش اومد، میری تو پوشه wp-content، میچرخونی، debug.log رو باز میکنی و با یک ذره مطالعه میفهمی داستان از چه قراره و چجوری راهحلش رو پیدا میکنی.
چرا خطاها ذخیره میشن و نمایش داده نمیشن؟
این یعنی خیلی حسابشده داری کار میکنی. اگه خطاها مستقیم برای کاربر حتی کاربر عادی نمایش داده بشن، سایتت زشت میشه و ممکنه انبوهی از اطلاعات فنی حساس مثل مسیر فایلها، متغیرها یا نسخه PHP لو بره. یعنی بازیِ بیرونی با امنیت و حس اعتماد کاربران، اگه دیده بشه کلی امتیاز منفی میگیری. ولی اگه ذخیره بشه، مثلاً یه روز سایتت کند میشه یا خطایی میده، لاگ رو باز میکنی و دقیقاً نقطه مشکل رو پیدا میکنی. اینجاست که حرفهای برخورد میکنی و همهچی رو آروم آروم حل میکنی، بدون اینکه کاربر بفهمه چیزی خراب بود.
ابزارای کمکی برای دیباگ حرفهایتر
رفیق، اینجا ما یکمی ابزار حرفهایتری رو میخریم.
- Query Monitor: افزونهایه که دقیقاً میگه هر کوئری پایگاهداده چقدر زمان برده، چه درخواستهایی به خارجیها زدی، حافظه چقدر مصرف شده و حتی خطاهای PHP رو نشون میده. همهچیز شفاف و با جزئیات.
- Debug Bar: یه نوار جدید بالای ادمینبار سایتت میزنه و اطلاعاتی مثل زمان بارگذاری صفحات، تعداد کوئریها، حافظه مصرفی و خطاها رو روی یه تیکه قلبِ راحت نشون میده.
- Xdebug + IDE مثل VS Code: این ترکیب مثل ابزارهای رهگیریه. میذاری breakpoint، اجرا رو متوقف میکنی، متغیرها رو میبینی گامبهگام. این برای کساییه که کد میزنن و دوست دارن دقیق بدونن سیستم چطور کار میکنه، نه فقط خطاها رو بخونن.
دیباگ افزونهها و قالبها بدون دردسر
پشیمون شدی از اینکه من این پلگین رو نصب کردم؟ قالبت یهویی عجیب غریب کار میکنه؟
- بری تو
wp-content/pluginsیاwp-content/themes - اسم پوشه رو مثلاً میذاری plugin-to-inspect_old یا theme-broken_old
- سایت رو رفرش میکنی
- اگه سایت برگشت و خطا رفع شد، فهمیدی مشکل از اون بود
- حالا دو راه داری: یا مشکل رو رفع کن، یا اون رو پاک یا جایگزین کن
مرسومترین خطاها و راهحلشون
صفحه سفید (WSoD)
بدترین حالته چون هیچچی نشون نمیده. این شباهت به خواب زمستانی داره که راحت نمیشه متوجه شد. ولی دیباگ مود رو روشن میکنی، debug.log رو نگاه میکنی، حافظه PHP رو بالا میبری یا افزونهها رو یکی یکی غیرفعال میکنی تا ببینی مشکل چی بوده.
خطای ۵۰۰ (Internal Server Error)
معمولاً یه چیز نابه و دخالتهای عزیز .htaccess یا محدودیتهای سرور هست. سادهترین راهحل: .htaccess رو rename کن یا حذف کن و بگذار وردپرس خودش یه فایل تمیز و سالم بسازه. اگر درست نشد باید بری سراغ هاستت یا تیم فنیش.
خطای اتصال به پایگاه داده
باید پارامترهای DB در wp-config.php رو چک کنی نام دیتابیس، یوزر، پسود، و هاست دقیق باشه. حتی یه خط فاصله اضافی هم ممکنه سایت رو قفل کنه.
نتیجه گیری
- حتماً قبل از هر کاری یه بکاپ بگیر؛ مطمئن باش یه پلان پشت سرت هست.
- اگر بخش dev داری، پروژه رو انتقال بده روی staging. اینجوری خطاها تو سایت اصلی نمایش داده نمیشن.
- WP_DEBUG رو فقط برای زمان خطا دادن فعال نگه دار؛ چون وقتی زیاد روشن باشه، لاگ حجمش بالا میره و حتی خطر امنیتی میشه.
- مرورگر Chrome DevTools رو باز کن بخش Console تا ببینی JavaScript خطا داره یا نه.
- وقتی مشکل حل شد، Debug Mode رو خاموش کن و فایل لاگ رو پاک یا آرشیو کن.
سوالات متداول
در آموزش دیباگ وردپرس چطوری بدون افزونه دیباگ رو روشن کنیم؟
فقط ویرایش wp-config.php، اضافه کردن define('WP_DEBUG', true); و خطهای WP_DEBUG_LOG و WP_DEBUG_DISPLAY = false تموم شد.
چرا توصیه میشه خطاها ذخیره بشن ولی نمایش داده نشن؟
چون اگر نشان داده بشن، اطلاعات حساس و مسیر فایلها دیدنی میشن و سایت قورش هرمی میگیره. ذخیرهشده بودن، کمک میکنه یکپارچه و بیتوجه به کاربر نهایی، خطاها رو بررسی کنی.
چه ابزارهایی توصیه شده در آموزش دیباگ وردپرس؟
Query Monitor، Debug Bar، و Xdebug برای IDE مثل VS Code.
کی باید دیباگ رو خاموش کنیم طبق آموزش دیباگ وردپرس؟
همینکه مشکل رو حل کردی. چون اگر خاموش نشه، فایل لاگ سنگین میشه و سایت آسیبپذیر.
آیا تو آموزش دیباگ وردپرس گفته شده روی محیط staging کار کنیم؟
بله، همیشه بهتره روی staging یا local کار کنی تا از نمایش خطاها در سایت واقعی جلوگیری بشه و امنیت زیاد بشه.


