خرید هاست بدون قطعی
آموزش های وردپرس

آموزش کار با دیباگ وردپرس و نحوه فعال سازی دیباگ وردپرس

تقریبا میشه گفت که هیچ سیستم مدیریت محتوایی وجود نداره که برای همه کاربران با هر نوع سرور و سیستم عاملی به درستی کار بکنه و عاری از نقص باشه، چرا که بالا اومدن یک سایت به عوامل بسیار زیادی بستگی داره که به سخت افزار و نرم افزارهای نصب شده روی اون برمیگرده. در وردپرس هم مثل این مورد رو به رو هستیم که به دلایل مختلف مثل تغییرات در php، فعال/غیرفعال شدن اکستنشن‌های هاست و… مشکلاتی برای سایت به وجود میاد. بنابراین باید ابزاری برای عیب یابی کردن وردپرس وجود داشته باشه که هر گاه با خطا مواجه شدیم بتونیم این مشکلات را برطرف کنیم. اینجا بود که حالت دیباگ وردپرس به وجود اومد و با یک ابزاری که در قلب وردپرس قرار داره به راحتی میتونید با فعال سازی کردن اون مشکلات وردپرس را برطرف کنید.

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

حالت دیباگ وردپرس چیست؟

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

دیباگ وردپرس یا همون wp_debug بهترین ابزار برای عیب یابی در وردپرس و رفع مشکلات سایت هست که با استفاده از این ابزار میتونید منبع و سورسی که باعث خطا میشه را یافته و برطرف کنید. WP_DEBUG وردپرس یک ثابت از نوع بولین Boolean هست که داخل فایل wp-config.php تعریف میشه و با استفاده از این تابع میشه خطاهای موجود در سایت را مشاهده کرد. این تابع میتونه از دو مقدار 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 قرار داده شده که به معنی فعال بودن حالت دیباگ وردپرس هست. اگر این مقدار به جای true روی false تنظیم بشه حالت دیباگ وردپرس غیرفعال شده و خطایی در سایت نمایش داده نخواهد شد. پس بعد از فعال کردن دیباگ وردپرس اقدام به رفع خطاهای وردپرس بکنید و بعد از اتمام رفع خطا هم حتما مقدار true را به false تغییر بدین.

دیباگ وردپرس فعال یا غیرفعال؟

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

غیرفعال کردن نمایش خطا دیباگ وردپرس

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

define('WP_DEBUG_DISPLAY', false);

ایجاد لاگ خطا دیباگ وردپرس با WP_DEBUG_LOG

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

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);
امیدوارم که این آموزش هم مورد توجه و پسندتون قرار گرفته باشه و با استفاده از این آموزش تونسته باشید با دیباگ وردپرس آشنا شده و هر زمان که خطایی در سایت به وجود میاد با فعال کردن حالت دیباگ وردپرس اقدام به رفع خطا در وردپرس بکنید. در صورتی که در رابطه با این آموزش و نحوه کار کردن با دیباگ وردپرس سوال یا مشکلی داشتید در بخش دیدگاه‌ها اعلام کنید تا در کوتاه‌ترین زمان ممکن پاسخگوی شما باشم.

علی یزدان پرست

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

نوشته های مشابه

‫۲۹ دیدگاه ها

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

      1. سلام طبق متن چک کردم و دیباگ برای من فعاله
        اما در هاست فایل تولید شده بنام debug.log حدود 4.17 گیگ شده
        در حقیقت تمام حجم هاست رو این فایل گرفته
        چگونه این مشکل رو رفع کنم؟؟

        سپاس بیکران از شما

        1. سلام وقت بخیر ؛
          این فایل حاوی گزارشات خطایی هستش که از زمان فعال سازی حالت دیباگ دریافت کردید و به همین دلیل سنگین شده. وجود این فایل لزومی نداره و صرفا حالت خطایابی و گزارش گیری هتش.
          میتونید فایل های قدیمی رو حذف کنید و ازین لحظه گزارشات جدید رو دریافت کنید.

  2. سلام جناب شما فقط آموزش گزارش گیری گذاشتین من واقعا الان نمیتونم باگ هارو رفع کنم !

    بنده ازاینا هیچ سر در نمیارم

    1. سلام روزبخیر؛
      در گزارش مسیر و گاها توضیحی جزئی در خصوص مشکل به وجود آماده نوشته شده که میتونن سرنخ هایی برای رفع مشکل باشن. به عنوان مثال گاهی به مسیر نصب یک افزونه ی قالب اشاره میشه و میتونیدحدس بزنید که سرچشمه مشکلات هستند.

  3. سلام من وقتی وارد فهرست وردچرس میشم این رو میگه میشه کمک کنین مشکل کجاست؟
    Fatal error: Uncaught ArgumentCountError: Too few arguments to function
    um\admin\core\Admin_Navmenu::wp_nav_menu_item_custom_fields(), 4 passed in /home2/sunrise2/domains/sunrise87.ir/public_html/wp-includes/class-wp-hook.php on line 287 and exactly 5 expected in /home2/sunrise2/domains/sunrise87.ir/public_html/wp-content/plugins/ultimate-member/includes/admin/core/class-admin-navmenu.php:59 Stack trace: #0 /home2/sunrise2/domains/sunrise87.ir/public_html/wp-includes/class-wp-hook.php(287): um\admin\core\Admin_Navmenu->wp_nav_menu_item_custom_fields(1286, Object(WP_Post), 0, Object(stdClass)) #1 /home2/sunrise2/domains/sunrise87.ir/public_html/wp-includes/class-wp-hook.php(311): WP_Hook->apply_filters(”, Array) #2 /home2/sunrise2/domains/sunrise87.ir/public_html/wp-includes/plugin.php(478): WP_Hook->do_action(Array) #3 /home2/sunrise2/domains/sunrise87.ir/public_html/wp-content/themes/publisher/includes/libs/better-framework/menu/class-bf-menu-edit-walker.php(85): do_action(‘wp_nav_menu_ite…’, 1286, Object(WP_Post), 0, in /home2/sunrise2/domains/sunrise87.ir/public_html/wp-content/plugins/ultimate-member/includes/admin/core/class-admin-navmenu.php on line 59

    1. سلام روزبخیر؛
      افزونه ultimate-membr رو به صورت موقت غیر فعال و وضعیت سایتتون رو چک کنید.

  4. سلام وقتتون بخیر
    من بعد از اپدیت وردپرس به نسخه 5.5 با این notice مواجه شدم
    Notice: تابع register_rest_route به طورنادرست فراخوانی شد. تعریف مسیر REST API برای yoast/v1/get_head فاقد آرگومان ضروری permission_callback است. برای مسیر REST API که برای عمومی بودن در نظر گرفته شده‌اند، از __return_true به عنوان فراخوان دسترسی استفاده کنید. لطفاً برای اطلاعات بیشتر، اشکال زدایی در وردپرس را مشاهده کنید. (این پیام در نگارش 5.5.0 افزوده شده است.)
    برای رفع این ارور باید چیکار کنم؟ ایا اصلا ارور مهمی هست؟

  5. سلام خسته نباشید
    برای من 3 تا خطا داده میشه کمکم کنید حلشون کنم:
    1.سایت شما نسخه php(7.3.18)را اجرا نمیکند
    2.یک یا چند ماژول پیشنهادی وجود ندارد
    3.سایت شما از https استفاده نمیکند

    1. سلام و احترام هدی عزیز؛
      در خصوص سوال اول باید نسخه های مختلف php هاست رو بررسی کنید و ببینید کدوم یکی با قالب شما همخوانی داره در این خصوص بر اساس کنترل پنل هاستتون می تونید از آموزش های زیر کمک بگیرید:
      آموزش تغییر ورژن php در سی پنل
      آموزش تغییر ورژن php در هاست دایرکت ادمین
      آیا از ماژول خاصی نامبرده شده؟ (اگر به ماژول خاصی نیاز داشتید باید با هاستینگتون مطرح کنید و بررسی کنید در دسترس هست یا نه)
      می تونید گواهی ssl رایگان یا تجاری روی هاستتون نصب و از پروتکل http به پروتکل https سوئیچ کنید.
      فعالسازی SSL رایگان سی پنل و تمدید آن به صورت خودکار
      آموزش نصب ssl دایرکت ادمین

  6. ممنونم که هستید! تقریبا هر مشکلی که تا الان با وردپرس داشته ام اینجا حل شده است.

  7. سلام
    صفحه ویرایش محصول نصفه و نیمه باز میشه و خیلی دکمه ها کار نمیکنه.
    ایجاد محصول جدید درست کار میکنه اما ویرایش کردنش نه

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

    خواهشا بگید چیکار کنم؟ اساسی گیر کردم

  8. سلام من حالت دیباگ رو فعال کردم این خطا ها آمد

    چگونه آنها را رفع کنم؟
    باتشکر

    1. سلام و احترام؛
      موقتا افزونه wp-script-optimizer رو غیر فعال و وضعیت رو بررسی کنید.
      ظاهرا این افزونه تداخل ایجد کرده.

  9. با سلام

    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 524288 bytes) in /home/*/domains/*/public_html/wp-content/plugins/menu-icons/vendor/codeinwp/icon-picker/includes/types/fa.php on line 3452
    این خطا را چطوری رفع کنم؟ وارد پنل مدیریت نمی شود
    تشکر

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

  10. با سلام برای من هیچ خطایی را نمایش نمیده ، مشکل از آنجا شروع شد که کدی را در آخر فایل wp-content.php قرار دادم و همه صفحات سایتم سفید شد . اون کد را برداشتم ولی مشکلم حل نشد الان بعضی صفحات سایت باز میشه ولی صفحه ورود مدیریت و بعضی برگه ها سفید میاد . ممنون میشم راهنمایی کنید.

    1. سلام وقت بخیر؛
      خیلی مهمه که اون قطعه کد روی کدام بخش از سایت شما تاثیر گذاشته… کد رو در چه قسمتی درج کردید؟ wp-content یک دایرکتوری شامل قالب و افزونه های وردپرسی هستش.
      میتونید راهنمای زیر رو مطالعه بفرمایید یا آخرین نسخه بکاپ از سایتتون رو ریستور کنید.
      حل مشکل صفحه سفید وردپرس در سایت و مدیریت

  11. سلام برای حل این مشکل چه کنم

    C:\xampp\htdocs\wp-content\themes\sahifa\framework\parts\meta-post.php on line 3

    C:\xampp\htdocs\wp-content\themes\sahifa\framework\parts\meta-post.php on line 3

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

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا