چند راهکار اصلی برای دیباگ وردپرس

چند راهکار اصلی برای دیباگ وردپرس

ابزارهای دیباگ (Debug tools) مهمترین و جذاب ترین ابزارهای هر برنامه نویس و توسعه دهنده ایی است. بسیاری از طراحان قالب و پلاگین وردپرس از پتانسیل های این CMS در دیباگ مطلع نیستند.در این نوشتار سعی می کنیم بطور خلاصه و مفید راهکار هایی که برای دیباگ وردپرس وجود دارد را بیان کنیم:

آپدیت نوشت : راه های فراوانی برای دیباگ وردپرس وجود دارد که به مرور به لیست اضافه خواهیم کرد.

1- ثابت WP_DEBUG

شناخته شده ترین ابزار دیباگ وردپرس همین WP_DEBUG است. در فایل wp-config.php وردپرس می توانید خط زیر را بیابید :

define( 'WP_DEBUG', true );

معمولاً همه توسعه دهنده های وردپرس عاشق همین یک خط کوچک هستند 🙂 . تغییر مقدار ثابت WP_DEBUG به true باعث می شود کلیه خطاهای PHP از جمله Notices , Warnings , errors و همچین خطاهای دیباگ وردپرس از جمله توابع منسوخ وردپرس (deprecated functions) در هنگام اجرای وردپرس نمایش داده شود.

توجه : deprecated code ها را جدی بگیرید چون ممکن از در آپدیت های بعدی وردپرس غیرفعال شوند.

در صورت فعال بودن دیباگ وردپرس می توان به کمک دو ثابت زیر از نمایش پیغام های خطا در سایت جلوگیری کرد تا وردپرس آنها را در یک فایل log به نام debug.log در فولدر wp-content ذخیره کند.

دو خط زیر در فایل wp-config.php وجود ندارند و باید آنها را به این فایل اضافه کنید.

define( 'WP_DEBUG_LOG', true );

define( 'WP_DEBUG_DISPLAY', false );

این ویژگی برای دیباگ کردن سایت هایی که در حالت توسعه نیستند و سایت هایی که در حالت انتشار قرار دارند و لازم است بدون down شدن دیباگ شوند بسیار کاربردی است.

این دو ثابت فقط در صورتی که مد دیباگ وردپرس فعال باشد (WP_DEBUG برابر با true) قابل استفاده هستند.

توضیحات توسعه دهندگان وردپرس در مورد مد دیباگ وردپرس را بخوانید.

WP_DEBUG مشکلات موجود در کدنویسی شما را آشکار می کند تا بتوانید کُدی استاندارد داشته باشید. متغیرها و ثابت های تعریف نشده و یا چک نشده (چک کردن متغیرها و آرایه ها به کمک توابع isset و empty) مشکلات عمومی فراموش دشه برنامه نویسان PHP است.

در روند دیباگ وردپرس حتی ممکن است مشکلی در هسته وردپرس پیدا کنید که می توانید یک گزارش خطا برای توسعه دهندگان وردپرس ارسال کنید.

2- SCRIPT_DEBUG

اگر میخواهید باگ های مربوط به JavaScript یا احیاناً css را رهگیری کنید می توانید ثابت SCRIPT_DEBUG را در فایل wp-config.php به true تعریف کنید:

define( 'SCRIPT_DEBUG', true );

قضیه از این قراره که وردپرس کلیه فایل های CSS و JavaScript رو برای لود توی داشبورد (wp-admin) یکپارچه سازی و فشرده میکنه.

با فعال سازی SCRIPT_DEBUG به نحوی که در بالا اشاره شد وردپرس کلیه فایل های CSS و JavaScript رو جداگانه و فشرده نشده (development version) فراخوانی میکنه و کار رو برای رهگیری های مربوط به دیباگ Front-end آسون تر میکنه.

توی دو اسکرین شات زیر که یکی در حالت فعال بودن و دیگری غیرفعال بودن SCRIPT_DEBUG از تب console ابزار developer tools مرورگر کروم گرفته شده، این مساله خیلی روشن تر هستش:

3- آنالیز کوئری ها

ثابت SAVEQUERIES کوئری های دیتابیس را در یک آرایه ذخیره می کند. با نمایش دادن اطلاعات این آرایه دیتای هر کوئری را می توانیم ببینیم.

برای فعال کردن این امکان ابتدا مقدار ثابت SAVEQUERIES را با افزودن خط زیر در فایل wp-config.php به true تغییر دهید:

define( 'SAVEQUERIES', true );

سپس بعد از حلقه ی اصلی وردپرس می توانید این آرایه را پرینت بگیرید:

global $wpdb;

var_dump( $wpdb->queries );

می توانید این قطعه کد را در فوتر (footer.php) بنویسید تا مطمدن شوید در همه صفحات وب سایت بعد از حلقه اصلی اجرا می شود.

نکته : بعد از اتمام کار حتماً مقدار SAVEQUERIES به false تغییر دهید. چون میزان مصرف منابع سرور شما را به شدت بالا خواهد برد.

4- پلاگین Core Control برای دیباگ وردپرس

پلاگین های زیادی برای خطایابی وردپرس وجود دارد ولی پلاگین Core Control یکی از جامع ترین اونهاست که خود شامل چند ماژول است.

دیدگاه‌تان را بنویسید: