اشکال زدایی (دیباگ) وردپرس

وردپرس

4 دقیقه زمان مطالعه

 

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

برای افراد غیر برنامه نویس یا کاربر عمومی، این گزینه ها جزئیات اطلاعات خطا ها را نشان می دهد.

WP_DEBUG

WP_DEBUG یک ثابت PHP (یک متغیر جهانی ثابت) است که می تواند برای ایجاد حالت اشکال زدایی وردپرس استفاده شود. این گزینه به صورت پیش فرض false است و معمولاً در پوشه wp-config.php روی نسخه های توسعه دهنده وردپرس روی true تنظیم می شود.

define( 'WP_DEBUG', true );

define( 'WP_DEBUG', false );

توجه: مقادیر true و false در مثال با فراگیرها (‘) احاطه نشده اند . اگر ثابت ها را ‘false’ قرار دهید، آنها به عنوان true تعبیر می شوند زیرا آن را یک رشته (string) می کند.

استفاده از WP_DEBUG یا سایر ابزارهای دیباگ وردپرس در سایت های زنده توصیه نمی شود. آنها برای آزمایش محلی نصب شده اند.

خطاهای PHP، هشدارها و اعلان ها

دیباگ وردپرس

فعال کردن WP_DEBUG باعث می شود تمام خطاهایPHP ، اعلان ها و هشدارها نمایش داده شوند. این امر رفتار پیش فرض PHP را که فقط خطا های مهلک را نشان می دهد و یا هنگام رسیدن به خطا ها صفحه سفید مرگ را نشان می دهد، تغییر می دهد.

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

توابع و استدلال های منسوخ شده

فعال کردن WP_DEBUG همچنین باعث می شود به توابع منسوخ شده و آرگمان های موجود در وردپرس که در سایت شما استفاده می شود، توجه شود. این ها توابع یا آرگومان های عملکردی هستند که هنوز از کد اصلی حذف نشده اند اما قرار است در آینده نزدیک حذف شوند. اعلان های استهلاک اغلب عملکرد جدیدی را نشان می دهد که باید به جای آن استفاده شود.

WP_DEBUG_LOG

WP_DEBUG_LOG همراه WP_DEBUG است که باعث می شود همه خطاها نیز در پرونده ورود به سیستم debug.log ذخیره شود. این امر برای زمانی که شما بخواهید بعداً همه اعلان ها را مرور کنید یا نیاز به مشاهده اعلانات خارج از صفحه داشته باشید، مفید خواهد بود. ( به عنوان مثال در هنگام درخواست AJAX یا wp- cron اجرا شود. )

توجه داشته باشید که این امکان را برای شما فراهم می کند تا با استفاده از تابع  error log() که در PHP تعبیه شده است، پرونده را وارد کنید، که برای مثال می تواند هنگام اشکال زدایی از وقایع ایجکس مفید باشد.

وقتی روی true تنظیم شود، گزارش در سیستم پرونده سایت شما برای debug.log در فهرست محتوا ذخیره می شود (معمولاً wp-content / debug.log). متناوباً، می توانید آن را روی یک مسیر فایل معتبر تنظیم کنید تا پرونده در جای دیگری ذخیره شود.

define( 'WP_DEBUG_LOG', true );

-or-

define( 'WP_DEBUG_LOG', '/tmp/wp-errors.log' );

توجه: برای WP_DEBUG_LOG برای انجام هر کاری در اشکال زدایی وردپرس ، WP_DEBUG باید فعال باشد. (یعنی true باشد) به یاد داشته باشید که می توانید WP_DEBUG_DISPLAY را به طور مستقل خاموش کنید.

این مقاله را حتما بخوانید
آموزش نصب سورس گاردین بر روی لوکال هاست

WP_DEBUG_DISPLAY

WP_DEBUG_DISPLAY یکی دیگر از همراهان WP_DEBUG است که کنترل می کند پیام های اشکال زدایی در داخل HTML صفحات نشان داده شوند یا خیر. پیش فرض “true” است که خطا ها و هشدارها را هنگام تولید نشان می دهد. تنظیم آن روی false همه خطا ها را پنهان می کند که باید همراه با WP_DEBUG_LOG استفاده شود تا بعداً خطاها بررسی شوند.

define( 'WP_DEBUG_DISPLAY', false );

توجه: برای WP_DEBUG_DISPLAY برای انجام هر کاری، WP_DEBUG باید فعال باشد. (یعنی true باشد) به یاد داشته باشید که می توانید WP_DEBUG_LOG را به طور مستقل کنترل کنید.

SCRIPT_DEBUG

SCRIPT_DEBUG یک ثابت مرتبط است که وردپرس را مجبور می کند تا به جای نسخه های کوچک شده که به طور معمول بارگیری می شوند، از نسخه های “dev” از پرونده های اصلی CSS و JavaScript استفاده کند. این در حالی است که شما در حال آزمایش تغییرات در پرونده های داخلی .js یا .css هستید. SCRIPT_DEBUG به صورت پیشفرض  false است.

define( 'SCRIPT_DEBUG', true );

SAVEQUERIES

تعریف SAVEQUERIES نمایش داده های پایگاه داده را در یک آرایه ذخیره می کند و می توان آرایه ای را برای کمک به تجزیه و تحلیل آن نمایش داد. ثابت تعریف شده به عنوان true باعث می شود تا هر پرس و جو ذخیره شود، مدت زمان اجرای آن مشخص شده و تعیین شود که چه تابعی آن را فراخوانی کرده است.

define( 'SAVEQUERIES', true );

این آرایه در مسیر $wpdb->queries  ذخیره می‌شود.

توجه: این امر بر عملکرد سایت شما تأثیر می گذارد. بنابراین اطمینان حاصل کنید که هنگام اشکال زدایی وردپرس این مورد را خاموش کنید.

مثال wp-config.php برای دیباگ وردپرس

کد زیر که در پرونده wp-config.php شما درج شده است، تمام خطاها، اخطارها و هشدارها را به پرونده ای به نام debug.log در فهرست wp-content وارد می کند. همچنین خطاها را پنهان می کند تا تولید صفحه را قطع نکنند.

// Enable WP_DEBUG mode

define( 'WP_DEBUG', true );

 

// Enable Debug logging to the /wp-content/debug.log file

define( 'WP_DEBUG_LOG', true );

 

// Disable display of errors and warnings

define( 'WP_DEBUG_DISPLAY', false );

@ini_set( 'display_errors', 0 );

 

// Use dev versions of core JS and CSS files (only needed if you are modifying these core files)

define( 'SCRIPT_DEBUG', true );

توجه: شما باید این کد را قبل از /* That’s all, stop editing! Happy blogging*/ ، در فایل wp-config.php وارد کنید.

افزونه های اشکال زدایی وردپرس

افزونه های دیباگ وردپرس زیاد و مختلفی وجود دارد که اطلاعات بیشتری را چه در مورد اشکالات داخلی، چه برای یک مولفه خاص و چه به طور کلی ، نشان می دهند. در اینجا چند نمونه آورده شده است:

  • Query Monitor
  • Debug Bar
  • Log Deprecated Notices

امیدواریم این مقاله به شما اطلاعات مفیدی درباره اشکال زدایی وردپرس داده باشد.

محصول پیشنهادی

افزونه سئو یواست پرمیوم | پلاگین Yoast SEO Premium

395,000 تومان

96.55%
دیجیراتی

دیجیراتی

محصول پیشنهادی

افزونه سئو اینستنتیفای | پلاگین Instantify

395,000 تومان

78.67%
بروز وردپرس

بروز وردپرس

محصول پیشنهادی

افزونه فرم ساز گرویتی فرمز | پلاگین Gravity Forms

395,000 تومان

47.62%

محصول پیشنهادی

افزونه سئو ویدئو های وردپرس | پلاگین Yoast Video SEO

345,000 تومان

73.33%
فروشگاه پارس

فروشگاه پارس

محصول پیشنهادی

افزونه سئو و بهینه سازی خودکار تصاویر | پلاگین SEO Friendly Images Pro

345,000 تومان

91.11%
راد ایران

راد ایران

محصول پیشنهادی

افزونه فرم ساز ایفرم | پلاگین eForm

345,000 تومان

78.57%
وردپرس داغ

وردپرس داغ

محصول پیشنهادی

قالب فروشگاهی زنبیل | قالب zanbil

1,895,000 تومان

80%

محصول پیشنهادی

افزونه امتیازدهی و پاداش پیشرفته آوانس | پلاگین گیمیفیکیشن

585,000 تومان

97.74%
یوسف محمدیانی

یوسف محمدیانی

محصول پیشنهادی

افزونه سئو ووکامرس پرمیوم | پلاگین Yoast WooCommerce SEO Premium

345,000 تومان

91.11%
دیجیراتی

دیجیراتی

محصول پیشنهادی

قالب فروشگاهی دیناکالا | قالب DinaKala

825,000 تومان

99.33%
آی دیزاین

آی دیزاین

محصول پیشنهادی

افزونه سئو رنک مث پرو | پلاگین Rank Math Pro

395,000 تومان

93.44%

محصول پیشنهادی

قالب آموزشی و فروش دوره آنلاین شکرینو | Shokrino

645,000 تومان

96.25%
تیم شکرینو

تیم شکرینو


نویسنده سینا عباسی

سایر مقالات نویسنده

مطالب مشابه

2

دیدگاه ها

ارسال دیدگاه

سلام ، ممنون از مقاله خوب شما
سوال بنده این بود که موردی ندارد با ذکر منبع این مقاله را در سایت خودم قرار دهم !؟

سلام و ممنون از توجه شما
بله با ذکر منبع مشکلی نداره
موفق باشید

ارسال دیدگاه