در این آموزش قصد داریم به معرفی دیباگ وردپرس و نحوه فعال سازی دیباگ وردپرس بپردازیم تا بتوانید از ابزار دیباگ وردپرس استفاده کرده و مشکلاتی که در سایتتان وجود دارد را یافته و برطرف کنید. پس اگر به دنبال رفع خطاهای وردپرس با استفاده از wp_debug هستید تا انتهای این مقاله همراه ما باشید تا درنهایت به واسطه کار با debug وردپرس بتوانید روش عیب یابی وردپرس را بیاموزید.
در وردپرس هم مانند همه سایت ها خطاهایی را شاهد هستیم که به دلایل مختلف مثل تغییرات در php، فعال/غیرفعال شدن اکستنشن های هاست و… مشکلاتی برای سایت به وجود می آید. بنابراین با یادگیری نحوه فعال کردن دیباگ وردپرس که برای عیب یابی وردپرس طراحی شده است، هر گاه با خطا مواجه شدیم میتوانیم این مشکلات را برطرف کنیم. اینجا است که حالت دیباگ وردپرس به وجود آمد و با یک ابزاری که در قلب وردپرس قرار دارد به راحتی میتوانید با فعال سازی کردن آن مشکلات وردپرس را برطرف کنید.
حالت دیباگ وردپرس
WP_DEBUG وردپرس یک ثابت از نوع بولین Boolean است که داخل فایل wp-config.php تعریف می شود و با استفاده از این تابع می توان خطاهای موجود در سایت را مشاهده کرد.
دیباگ وردپرس یا همان wp_debug بهترین ابزار برای عیب یابی در وردپرس و رفع مشکلات سایت است که با استفاده از این ابزار میتوانید منبع و سورسی که باعث خطا می شود را یافته و برطرف کنید.
این تابع میتواند از دو مقدار true و false پیروی کند که به ترتیب مربوط به فعال بودن یا غیرفعال بودن آن ها هستند. در صورتی که مقدار روی true قرار گرفته باشه دیباگ وردپرس فعال بوده و میتوانید خطاهای وردپرس را بررسی کنید. اما اگر مقدار آن روی false باشد خطایی نمایش داده نمی شود. اما در همه موارد خطاهایی که نشان داده می شود که واقعاً یک خطا نیستند و در برخی موارد فقط توصیه هستند که به شما گفته می شود باید بررسیشان کنید.
آموزش فعال سازی دیباگ وردپرس
برای فعال کردن WP_DEBUG در وردپرس باید ابتدا وارد هاست خود شوید و روی گزینه File Manager کلیک کنید تا به صفحه مدیریت فایلها در هاست هدایت شوید و سپس به مسیر public_html مراجعه کنید.
حال که وارد مسیر نصب وردپرس در public_html شدید باید در این مسیر به دنبال فایل wp-config.php بگردید. پس از پیدا کردن فایل روی آن راست کلیک کرده و گزینه EDIT را انتخاب کنید تا صفحه ویرایش فایل باز شود.
حال با استفاده از کلیدهای ترکیبی CTRL + F داخل کدهای این فایل به دنبال WP_DEBUG بگردید.
دقت کنید که قبل از ایجاد هر تغییری در فایل wp-config.php یک نسخه کپی از آن تهیه کنید و در جایی ذخیره کنید تا اگر کار اشتباهی انجام دادید، بتوانید سریع تر و بدون هیچ مشکلی اقدام به رفع آن کنید.
اگر با جستجوی عبارت WP_DEBUG هیچ نتیجه ای پیدا نشد به این معنی است که کد مربوط به فعال کردن دیباگ در وردپرس وجود ندارد که باید به صورت دستی این کد را اضافه کنید. بنابراین کد زیر را درست قبل از خط /* That’s all, stop editing! Happy blogging. */ قرار داده و فایل را ذخیره کنید.
define( 'WP_DEBUG', true );
حال همانطور که در بالا گفتم اگر دقت کنید در این تابع برای دیباگ وردپرس مقدار true قرار داده شده که به معنی فعال بودن حالت دیباگ وردپرس هست.
در تصویر زیر مشاهده می کنید در درون پوشه وردپرس یک فایل با نام Error.log موجود شده است که تمامی ارورها در آن ذخیره شده اند و با بررسی ارورها میتوانید مشکلات وردپرس خود را برطرف کنید.
حتماً این نکته را درنظر داشته باشید که بعد از برطرف کردن ارور وبسایت خود این پوشه را خالی کنید چرا که فضای هاست شما را ذخیره می کند. در عکس زیر وبسایت من با تغییر ورژن PHP دچار Error زیر شد.
غیرفعال کردن حالت دیباگ وردپرس
زمانیکه حالت دیباگ وردپرس فعال است سرنخ هایی از خطاهای ایجاد شده در سایت را مشاهده میکنید اما اگر به هر دلیلی تمایل داشتید حالت دیباگ غیر فعال شود کافیست به مسیر نصب وردپرس مراجعه کنید و در فایل فایل wp-config.php به دنبال قطعه کد زیر بگردید:
define( 'WP_DEBUG', false );
در این کد باید مقدار false تنظیم شود به این شکل حالت دیباگ وردپرس غیرفعال شده و خطایی در سایت نمایش داده نخواهد شد. پیشنهاد میکنیم پس بعد از فعال کردن دیباگ وردپرس اقدام به رفع خطاهای وردپرس بکنید و بعد از اتمام رفع خطا هم حتما مقدار true را به false تغییر بدهید.
دیباگ وردپرس فعال یا غیرفعال؟
از آنجایی که همیشه کدهایی که به صورت خطا یا توصیه در صورت فعال بودن دیباگ وردپرس نمایش داده می شوند بنابراین در صورتی که خطا یا یادداشتی وجود نداشته باشه هیچ پیغام خطایی در صفحه نشون داده نمیشه. اما گاها پیش میاد که به دلیل آپدیت نرم افزارهای روی سرور و تغییراتی که اعمال میشه، ممکن است روی افزونه یا قالب وردپرس تاثیر بگذارد و باعث نمایش داده شدن خطاهای وردپرس در بالای سایت شود که دیدن چنین منظره ای برای کاربران حس بی اعتمادی خواهد داشت.
پس همیشه حتماً از حالت دیباگ وردپرس وقتی استفاده کنید که در حال ایجاد تغییرات در کدنویسی سایت و توسعه وردپرس هستید. بعد از اینکه کارها تموم شد میتوانید دیباگ وردپرس را غیرفعال کنید.
غیرفعال کردن نمایش خطای دیباگ وردپرس
یکی از قابلیت هایی که دیباگ وردپرس در اختیار کاربران قرار می دهد این است که با استفاده از یک تابع دیگر که زیر مجموعه ای از همین دیباگ وردپرس به حساب می آید و نامش را WP_DEBUG_DISPLAY قرار دادند، میتوانید خطاهای مربوط به فعال کردن دیباگ وردپرس را به صورت دلخواه انتخاب کنید که نمایش داده شوند و یا اینکه نمایش داده نشوند.
برای این منظور باید این تابع را درست بعد از خطی که حالت دیباگ وردپرس را فعال کردید قرار بدهید. دقت کنید که به صورت پیش فرض این حالت فعال است و خطاها نمایش داده می شوند، اما برای غیرفعال کردن نمایش خطاهای وردپرس در WP_DEBUG_DISPLAY باید کد زیر را بعد از خط دیباگ وردپرس قرار بدهید.
define('WP_DEBUG_DISPLAY', false);
تنظیمات حالت دیباگ وردپرس
پس از فعال سازی دیباگ وردپرس کد های کوتاه دیگری نیز وجود دارند که به شما این امکان را میدهند عملکرد های مختلفی را در وبسایت توسط این کد ها فعال و غیر فعال کنید. این کد ها شامل موارد رید هستند:
- WP_DEBUG_LOG
- WP_DEBUG_DISPLAY
- SCRIPT_DEBUG
- SAVEQUERIES
ایجاد فایل لاگ خطا وردپرس با WP_DEBUG_LOG
یکی دیگر از توابع زیر مجموعه دیباگ وردپرس به نام WP_DEBUG_LOG ایجاد شده که با استفاده از این تابع میتوانید خطاهای دیباگ وردپرس را در یک فایل log ذخیره کنید و هر بار که خطایی در سایت رخ می دهد، این خطاها به همراه مسیردهی که دارند در این فایل ذخیره شده و میتوانید با بررسی خطاهای موجود در این فایل بر اساس بازه زمانی که برای هر خطا تاریخ و ساعت دقیق بروز خطا ثبت میشود، بدانید که مشکل به وجود آمدن خطا در سایت مربوط به چه فایلی است.
برای فعال کردن لاگ دیباگ وردپرس باید تابع زیر را هم بعد از قطعه کد مربوط به فعال سازی دیباگ در فایل wp-config.php وردپرس قرار بدهید.
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);
نمایش خطای دیباگ وردپرس با WP_DEBUG_DISPLAY
توسط این کد می توانید تعیین کنید که آیا خطاها در کد های HTML وبسایت نمایش داده شوند یا خیر؟ این قابلیت به صورت پیش فرض در حالت فعال قرار دارد و به نظر می آید غیرفعال کردن این قابلیت منطقی تر باشد چرا که برای کاربران ناخوشایند است که تمامی خطاها ها را در صفحه مشاهده کنند.پس در نظر داشته باشید برای غیر فعال سازی این گزینه باشد کد زیر را در wp-config.php قرار دهید.
define( 'WP_DEBUG_DISPLAY', false );
ایجاد فضای CSS و جاواسکریپت در وردپرس با SCRIPT_DEBUG
قابلیتی بسیار پر کاربرد است چرا که وردپرس محیطی بسیار ساده را جهت کد نویسی برای کاربرانش فراهم کرده و با فعال سازی این کد میتوانید تغییرات مورد نظر خود را در زبان جاوا اسکریپت و نسخه CSS پیاده سازی کنید. جهت فعال سازی در فایل wp-config.php باید کد دستوری زیر را قرار دهید.
define( 'SCRIPT_DEBUG', true );
ذخیره اطلاعات داده ها در وردپرس با SAVEQUERIES
قابلیتی است که امکان ذخیره و اطلاعات و داده ها را به صورت دستورها و کوئری هایی دارد که در پوشه ای خاص در حال جمع آوری هستند. این قابلیتی موثر برای سایت است و اگر به کارایی و خدماتش نیازی ندارید آن را در انتهای کار خاموش کنید. جهت فعال سازی کد زیر را در فایل wp-config.php قرار دهید.
define( 'SAVEQUERIES', true );
افزونه عیب یابی وردپرس
بیشتر کاربرانی که در حال توسعه و ایجاد تغییرات در کدنویسی افزونه ها و قالب وردپرس هستند از ابزار دیباگ وردپرس غافل هستند و بخاطر همین موضوع خطاهایی که شاید در ظاهر در سایت نشآن داده نشود را نخواهند دید. اما همین خطاهایی که در ظاهر سایت تاثیری نمی گذارند، باعث کندی سایت می شوند که اگر حالت دیباگ وردپرس فعال باشد به راحتی می شود از این مشکلات مطلع شد و کدها را به صورت بهینه در وردپرس نوشت. در صورت تمایل می توانید از افزونه های خطایابی هم استفاده کنید.
1- افزونه WP Debugging
توسط این افزونه میتوانید تمامی تنظیمات بخش دیباگ را در دست داشته باشید. با نصب و تنظیم این افزونه در وردپرس خود میتوانید هرگونه اشکالی را در وردپرس بررسی کنید. این افزونه رایگان با بیش از 10.000 نصب فعال از محبوبیت بالایی برخوردار است.
2- افزونه Query Monitor
یکی دیگر از افزونه های دیباگ در وردپرس Query Monitor است که به شما در وبسایت خود امکاناتی را میدهد تا در شناسایی انواع اسکریپت ها در پایگاه داده دسترسی خوبی داشته باشید و عملکرد وبسایت را زیر نظر بگیرید. این افزونه رایگان خطا یاب با بیش از 200.000 نصب فعال باز هم یکی از معروف ترین ها است.
تقریباً می توان گفت هیچ سیستم مدیریت محتوایی وجود ندارد که برای همه کاربران با هر نوع سرور و سیستم عاملی به درستی کار کند و عاری از عیب و نقص باشد، چرا که ساخت یک سایت به عوامل بسیار زیادی بستگی دارد که به سخت افزار و نرم افزارهای نصب شده روی آن برمی گردد.
سوالات متداول درباره آموزش کاربا دیباگ وردپرس
-
فعال سازی دیباگ بر روی امنیت سایت چه تاثیری دارد؟
از آن جایی که اطلاعات از طریق دیباگ بر روی یک فایل ذخیره میشوند میتواند در امنیت وبسایت شما اختلال ایجاد کند و امکان حملات سایبری هکرها را افزایش میدهد پس حتماً دسترسی محل ذخیره فایل را تنها به خودتان محدود کنید.
-
چگونه دیباگ را فعال و غیر فعال کنیم؟
جهت فعال سازی باید به فایل wp-config.php وردپرس مراجعه کرده و قطعه کد define( ‘WP_DEBUG’, true ); را درج کنید برای غیر فعال سازی به جای true از false استفاده کنید.
-
حالت دیباگ وردپرس چیست؟
دیباگ وردپرس یا همان wp_debug بهترین راهکار برای عیب یابی در وردپرس و رفع مشکلات سایت است که با استفاده از این ابزار میتوانید منبع و سورسی که باعث خطا می شود را یافته و برطرف کنید.
نتیجه گیری
متوجه شدیم که دیباگ وردپرس چیست و چگونه میتوانیم debug وردپرس را فعال کنیم با دیباگ وردپرس آشنا شده و هر زمان که خطایی در سایت به وجود میاد با فعال کردن حالت دیباگ وردپرس اقدام به رفع خطا در وردپرس بکنید. در صورتی که در رابطه با این آموزش و نحوه کار کردن با دیباگ وردپرس سوال یا مشکلی داشتید در بخش دیدگاهها اعلام کنید تا در کوتاهترین زمان ممکن پاسخگوی شما باشیم.