آموزش کامل استفاده از WP_DEBUG در وردپرس

9

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

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

آموزش کامل استفاده از WP_DEBUG در وردپرس

هدف ما از نوشتن این مقاله این است که به شما نشان دهیم چگونه میتوانید به بهترین شکل WP_DEBUG را مورد استفاده قرار داده و رفتار آن را مطابق نیازهای خود تغییر دهید. با ما همراه باشید.

دیباگ کردن با WP_DEBUG

مهم ترین ابزار رفع اشکال که لازم است در وردپرس با آن آشنا باشید همین WP_DEBUG است. WP_DEBUG یک ثابت از نوع بولین (Boolean) است که در فایل wp-config.php تعریف میشود. در حالتی که مقدار این ثابت برابر true باشد، شما قادر خواهید بود در وبسایت وردپرسی خود، کلیه ی هشدار های PHP، پیام های رفع خطایی که توسط وردپرس تولید میشوند و خصوصا توابعی که ممکن است در کد خود استفاده کرده باشید و استفاده از آنها دیگر منسوخ شده باشد را مشاهده نمایید. در واقع اینها ارور نیستند ولی به شما در توسعه ی صحیح کدتان و بهینه سازی آن کمک خواهند کرد.

منظورمان از گفتن کلمه “توابعی که استفاده از آنها دیگر منسوخ شده باشد” این نیست که تابع دیگر وجود ندارد. منظور در واقع این است که این توابع قرار است در تاریخ مشخصی در آینده به طور کلی حذف شوند که البته به آنها توابع Deprecated نیز میگوییم. اهمیت آگاهی از این توابع این است که در صورتی که شما این توابع را در پوسته یا پلاگین های خود مورد استفاده قرار دهید، ممکن است در ریلیز های بعدی وردپرس، پلاگین یا پوسته ی شما دیگر به شکلی که انتظار دارید کار نکنند و یا اصلا کار نکنند! بنابراین بهتر است که جایگزین مناسبی برای این توابع بیابید و آنها را در کد خود به کار ببرید.

برای فعال کردن WP_DEBUG در صورتی که خط زیر از پیش در فایل wp-config.php شما وجود ندارد، کافی است آن را به این فایل اضافه نمایید :

و برای غیر فعال کردن آن نیز کافی است بجای عبارت true، عبارت false را جایگزین نمایید. WP_DEBUG به صورت پیش فرض غیر فعال است.

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

ایجاد لاگ خطا ها با استفاده از WP_DEBUG_LOG

ابزار کاربردی دیگری که میتوانید در کنار WP_DEBUG از آن بهره بگیرید، WP_DEBUG_LOG است. با این کار یک فایل به نام debug.log در فولدر wp-content شما ساخته میشود که لیست کلیه ی خطا ها را در خود نگهداری میکند.

بیشترین کاربرد این مسئله در زمانی است که شما بخواهید هشدار ها و خطاهای موجود را بعدا مورد بررسی قرار دهید. برای فعال کردن این امکان کافی است کد زیر را به wp-config.php خود اضافه نمایید :

 جلوگیری از نمایش خطا ها در وبسایت با استفاده از WP_DEBUG_DISPLAY

اگر میخواهید در هنگام استفاده از WP_DEBUG، خطا ها در وبسایت شما به نمایش در نیایند، کافی است از WP_DEBUG_DISPLAY استفاده کنید.

توجه داشته باشید که WP_DEBUG_DISPLAY حتما باید در کنار فعال بودن WP_DEBUG_LOG به کار گرفته شود. WP_DEBUG_DISPLAY به صورت پیشفرض فعال است و برای غیر فعال کردن آن کافی است کد زیر را به wp-config.php خود اضافه کنید.

 و جمع بندی پایانی

حالا اگر بخواهیم از ترکیب هر سه ثابتی که در اینجا درباره شان صحبت کردیم استفاده کنیم، کافی است کد زیر را در wp-config.php قرار دهیم :

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

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

دسترسی آسان به این مطلب لینک کوتاه :
شاید از اینها هم خوشتان بیاید!
9 دیدگاه
  1. اصول صحیح مطالعه می گوید

    سلام
    من مشکلی با سایت دارم که با فعال کردن ویژوال کامپوزر گاهی اوقات سایت به طور کامل load نمیشه و فقط هدر و منو رو میاره. تداخل افزونه ها رو بررسی کردم و مشکلی نداشت. هر از گاهی این اتفاق میفته
    آیا میشه مشکل رو با debug حل کرد ؟ لطفا کامل راهنمایی کنید – مبتدی هستم

    1. MrCode می گوید

      سایتتون برای من مشکلی نداره.
      این احتمال وجود داره که صرفا مشکلی در اینترنتتون داشته باشید که نتونید گاهی سایتتون رو کامل بارگذاری کنید.

  2. میثم می گوید

    من یه مشکلی تو سایتم دارم تونم اینه که وقتی از قسمت سفارشی سازی میرم میتونم برم به قسمت فهرست ها و منو درست کنم ، ولی وقتی از قسمت نمایش >> فهرست میرم ،هیچی نشون نمیده و فهرست ها رو نمیاره..لطفا راهنمایی بفرمایید

  3. یوسفی می گوید

    سلام ممنون از سایت خوبتون
    من از هاست استفاده میکنم و افزونه theme check برای پیدا کردن باگ های قالبم استفاده کردم و ارور زیر رو داده

    WARNING WP_DEBUG is not enabled! Please test your theme with debug enabled before you upload!
    با توجه به توضیح شما که نباید این کدها رو در سایت اصلی قرار بدیم. من باید برای رفع این مشکل چکار کنم؟
    میشه راهنمایی بفرمایید برای رفع باگ های قالب چکار باید بکنیم؟خیلی ممنون

    1. MrCode می گوید

      سلام
      این پیام نمیگه شما wp_debug رو در سایت فعال کنید. داره میگه حالت دیباگ روی سایتتون فعال نیست پس قبل از اینکه قالبی رو آپلود کنید، در محیطی که wp_debug روی اون فعال باشه، قالب رو تست کنید که ایرادی نداشته باشه.
      معمولا این تست هارو به صورت لوکال انجام میدن. (چون قالبی که تست نکردید و نباید یک راست روی سایتتون نصب کنید … بهتره همیشه یک محیط تست یکسان با سایتتون داشته باشید)

      1. سجاد می گوید

        گرامی وقتی میفرمایید قالب قبل از نصب روی محیط لوکال تست کنید این محیط کجاست اموزشی ارائه میدین؟

        مشکل من اینه خیلی زیاد ارور 500 میگیرم و متوجه نمیشم این ارور ازروی چیست
        ایا با این توضیحات شما میتوانم خطا رو پیدا کنم؟
        و چجوری؟
        حافظه php 512 هم گذاشتم
        اما باز ارور میگیرم
        مترجم قالب از سایت راستچین میگه مشکل از هاسته ولی هاستینگ که از قضا دوست بنده است این جریان رو تکذیب میکنه
        ممنون میشم راهنمایی کنید
        ممنون میشم راهنمایی کنید

  4. sepid می گوید

    با سلام و وقت بخیر.
    چرا بعد از هر بار خروج از وردپرس، برگه هایی که ایجاد کردم به حالت پیش نویس درمیان و وقتی از منوی ایجاد شده در سایتِ در حال طراحی وارد هرکدوم از برگه ها میشم با این خطا که “شما اجازه دیدن پیش نویس را ندارید” مواجه میشم ، در صورتی که همشون در حالت منتشر شده و عمومی هستن؟

    1. MrCode می گوید

      سلام

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

  5. امیر می گوید

    سلام
    برای سایتی که فعال است و بعضی مواقع خطا میده، چکار کنیم؟ چون گفتید این کد رو روی سیت فعال نباید استفاده کرد

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

ارسال پاسخ

آدرس ایمیل شما منتشر نخواهد شد.