جزییات مقاله
تاریخ انتشار: ۰۵ اردیبهشت ۱۳۹۸
دسته بندی:

احتمالا شما هم هنگام کار کردن با وردپرس به مشکلاتی بر خورده‌اید که نمی‌توانید علت خاصی برای آن‌ها پیدا کنید. مشکلاتی عجیب و شگفت انگیز، که خیلی اوقات راه‌حل منظقی نیز برای حل آن‌ها به فکرتان نمی‌رسد. به هر حال هیچ سیستمی خالی از اشکال نبوده و وردپرس نیز از این قاعده نیز مستثنی نیست. البته وردپرس در این زمینه هوشمندانه عمل کرده و در هسته خود یک سیستم عیب‌یابی دارد و هر کسی که از وردپرس استفاده می‌کند، می‌تواند مشکلات سایت خود را از این طریق پیدا کرده و نسبت به حل این مشکلات اقدام کند. شاید شنیده باشید که پیدا کردن خطاها با wp_debug در وردپرس انجام می‌شود اما اینکه چگونه این اتفاق می‌افتد و چه مراحلی طی می‌شود در این مقاله نحوه عیب یابی با wp-debug به شما بطور کامل آموزش می دهیم.

 زمانی که باید از عیب یابی در وردپرس با wp_debug استفاده کنیم

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

wp_debug چیست ؟

بهتر است اول از همه بدانیم wp_debug چیست؟
به زبان عامیانه، ابزاری برای عیب یابی در وردپرس محسوب می‌شود که اگر فعال باشد منبع خطا در وردپرس را نشان خواهد داد. به عبارتی نشان می‌دهد خطایی که در وردپرس مشاهده می‌کنید از کجا سرچشمه می‌گیرد.

تغییر تعداد ستون های پیشخوان وردپرس
بیشتر بخوانید

چگونه عیب یاب وردپرس را فعال کنیم؟

برای فعال کردن wp_debug، وارد هاست خود شده و به قسمتی که فایل‌های وردپرس قرار دارند، بروید. فایل wp-config.php را پیدا کنید و روی دکمه Edit کلیک کنید تا ویرایشگر هاست شما باز شود. حال در بین کدهای موجود در این قسمت، کد ;(define(‘WP_DEBUG’, false را پیدا کنید. اگر این کد در فایل wp-config.php وجود نداشت، خودتان آن را درست قبل از عبارت /* That’s all, stop editing! Happy blogging. */ قرار دهید.

 

wp-debug

مقدار قبل فرض این تابع false است که به معنی خاموش بودن حالت عیب یابی است. برای پرکار کردن حالت عیب یابی وردپرس، کلمه false را به true تغییر دهید و تغییرات را اندوخته کنید. الان حالت عیب یابی وردپرس برای پیدا کردن خطاها با wp_debug در وردپرس فعال خواهد شد.حال به صفحات مختلف سایت خود سر بزنید و ببینید آیا در بالای صفحه خطایی نمایش داده می‌شود یا خیر. ممکن است در صفحه اصلی خطایی هستی نداشته باشد ولی خطایی در صفحات جانبی مثلا گرد از مقاله‌های سایت خود دریافت کنید. اگر هم کلا چیزی نگریستن نکردید، شادباش- شاباش می‌گویم سایت شما خطایی ندارد.

دریافت گزارش خطا در وردپرس با wp_debug_log

اگر می‌خواهید فهرست خطاها در فایلی قرار دیتا شود که بتوانید بعدا هم متعلق به بهره‌گیری کنید، باید حالت wp_debug_log را پرکار کنید. بدین منظور کد پایین را صحیح پس از کد wp_debug که در مرحله قبل وارد کردید، پیمان دهید:

 
define('WP_DEBUG_LOG', true);
 

wp-debug

 

فعال کردن حالت عیب یابی وردپرس بدون نمایش خطاها در صفحات سایت

همانطور که گفتیم نمایش خطاها در معرض عموم برای سایت شما می‌تواند خطرناک باشد. اما هر از چند گاهی واقعا احتیاج داریم از این سیستم عیب یابی وردپرس بهره‌گیری نماییم در همان سان نمی‌خواهیم این خطاها را کاربران ببینند. وردپرس امکان بی نظیری که دارد این است که می‌تواند خطا‌ها را جمع آوری کند، اما به جای نمایش خطاها در صفحات سایت، آن‌ها را تنها در فایل debug.log ذخیره کند. در این صورت می‌توانید تمامی خطا‌ها را در فایل debug.log نگریستن کنید بدون اینکه خطایی در سایت نما شود و سپس به پیدا کردن خطاها با wp_debug در وردپرس بپردازید. بدین منظور کد پایین را در خط بعدی کد قبلی پیمان دهید:


define('WP_DEBUG_DISPLAY', false);

wp-debug

چگونه خطا‌های وردپرس را رفع کنیم؟

بهبود ویرایشگر متن وردپرس جهت سرعت در نوشتار
بیشتر بخوانید

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

 

 

 

 

 

 

خلاصه
تاریخ امتیار
امتیاز نویسنده
51star1star1star1star1star

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

نظرات کاربران

avatar