اشکال‌زدایی وردپرس

توضیحات

این افزونه ثابت‌های اشکال‌زدایی زیر را هنگام فعال‌سازی در wp-config.php تنظیم و هنگام غیرفعال‌سازی حذف می‌کند. هرگونه خطا منجر به بروز یک استثنا (Exception) در PHP می‌شود. ثابت‌های اشکال‌زدایی مطابق با اشکال‌زدایی در وردپرس هستند.

تنظیمات پیش‌فرض:

define( 'WP_DEBUG_LOG', true );
define( 'SCRIPT_DEBUG', true );
define( 'SAVEQUERIES', true );

@ini_set( ‘display_errors’, 1 ); زمانی که افزونه فعال است تنظیم می‌شود. WP_DEBUG در اولین اجرای افزونه روی true تنظیم می‌شود، پس از آن می‌توان آن را در تنظیمات خاموش کرد.

صفحه تنظیمات به کاربر اجازه می‌دهد موارد زیر را پیکربندی کند.

define( 'WP_DEBUG', true ); // Default on initial plugin installation.
define( 'WP_DEBUG_DISPLAY', false ); // Default when not declared is true.
define( 'WP_DISABLE_FATAL_ERROR_HANDLER', true ); // WordPress 5.2 WSOD Override.

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

این افزونه از دستور wp-cli/wp-config-transformer برای نوشتن ثابت‌ها در wp-config.php استفاده می‌کند.

افزونه Debug Quick Look از Andrew Norcross برای کمک به خواندن پرونده debug.log در این افزونه گنجانده شده است. اگر قبلاً این افزونه را نصب کرده‌اید، هنگامی که WP Debugging فعال نیست، باید آن را حذف کنید.

افزونه‌های Query Monitor و Debug Bar وابستگی‌های اختیاری برای کمک به اشکال‌زدایی و عیب‌یابی هستند. اعلان نصب، ۴۵ روز پس از نادیده گرفته شدن دوباره نمایش داده خواهد شد.

اگر مکان غیر استانداردی برای پرونده wp-config.php خود دارید، می‌توانید از فیلتر wp_debugging_config_path برای بازگرداندن مسیر پرونده نصب خود استفاده کنید.

فیلتر wp_debugging_add_constants به کاربر اجازه می‌دهد ثابت‌هایی را به wp-config.php اضافه کند.

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

$my_constants = [
    'my_test_constant' =>
    [
        'value' => 'abc123',
        'raw' => false,
    ],
    'another_test_constant' => [ 'value' => 'true' ],
];

گزینه value شامل مقدار ثابت به‌عنوان یک رشته است.

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

مثال:

add_filter(
    'wp_debugging_add_constants',
    function( $added_constants ) {
        $my_constants = [
            'my_test_constant'      => [
                'value' => '124xyz',
                'raw'   => false,
            ],
            'another_test_constant' => [ 'value' => 'true' ],
        ];
        return array_merge( $added_constants, $my_constants );
    },
    10,
    1
);

این مورد ثابت‌های زیر را ایجاد می‌کند.

define( 'MY_TEST_CONSTANT', '124xyz' );
define( 'ANOTHER_TEST_CONSTANT', true );

توسعه

از درخواست‌های ادغام (PR) در شاخه توسعه در گیت‌هاب استقبال می‌شود.

عکس‌های صفحه

نقد و بررسی‌ها

8 ژوئن 2026
Don’t read too much into that “tested up to” tag. My practical tests, including tests with the official Plugin Checker, watching the console, in environment with quite strict cross-origin rules etc., WP Debugging is still the one simple debug log enabler and watcher, that just works, also with WordPress 7.0 It’s very basic, indeed, and that is a good thing. The last thing you want, when debugging WordPress, is for the debug plugin itself to throw a bunch of errors or load a lot of external resources affecting performance. So still, highly recommended.
18 آوریل 2026
I’ve been using the WP Debugging plugin since 2024, and it has been a lifesaver. The error log feature alone helped me track down several issues that would have taken hours to find manually. The fact that it integrates with Query Monitor is a nice bonus too. If you do any WordPress development or troubleshooting, just install this plugin. Five stars, no hesitation.
23 فوریه 2024
Yet another one of your plugins that I love and use all the time! Thank you. (Side note: is there a place to buy you a coffee or donate for your time?)
خواندن تمامی 21 نقد و بررسی‌

توسعه دهندگان و همکاران

“اشکال‌زدایی وردپرس” نرم افزار متن باز است. افراد زیر در این افزونه مشارکت کرده‌اند.

مشارکت کنندگان

“اشکال‌زدایی وردپرس” به 11 زبان ترجمه شده است. با تشکر از مترجمین برای همکاری و کمک‌هایشان.

ترجمه “اشکال‌زدایی وردپرس” به زبان شما.

علاقه‌ مند به توسعه هستید؟

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

گزارش تغییرات

2.12.2 / 2024-12-02

  • افزودن GA برای تولید فایل POT
  • به‌روزرسانی برای PCP

2.12.1 / 2024-11-08

  • انتقال register_activation_hook و register_deactivation_hook به ابتدای زنجیره

2.12.0 / 2024-11-01

  • خروج (تقریباً) زودهنگام در صورتی که در صفحه تنظیمات WP Debugging نباشیم
  • به‌روزرسانی composer
  • حذف load_plugin_textdomain()

2.11.24 / 2024-04-29

  • به‌روزرسانی پیوند به «اشکال‌زدایی در وردپرس»، با تشکر از @tobifjellner
  • تبدیل نوع متغیر به آرایه در Bootstrap::deactivate() برای رفع مشکل PHP 8.3

2.11.23 / 2024-03-04

  • به‌روزرسانی composer
  • به‌روزرسانی‌های WPCS

2.11.22 / 2023-05-31 🎂

  • به‌روزرسانی afragen/wp-dismiss-notice

2.11.21 / 2023-04-29

  • به‌روزرسانی afragen/wp-dismiss-notice
  • به‌روزرسانی Debug Quick Look

2.11.18, 2.11.19, 2.11.20 / 2023-02-07

  • به‌روزرسانی composer

2.11.17 / 2023-01-27

  • به‌روزرسانی پیوند به اشکال‌زدایی در وردپرس و بهبود متون برای مترجمان
  • به‌روزرسانی composer

2.11.16 / 2023-01-19

  • به‌روزرسانی composer

2.11.15 / 2023-01-02

  • به‌روزرسانی composer

2.11.14 / 2022-07-15

  • به‌روزرسانی composer

2.11.13 / 2022-06-23

  • طمع‌کارتر (Greedy) کردن preg_match برای لنگر (Anchor)

2.11.12 / 2022-05-29

  • به‌روزرسانی به آخرین نسخه afragen/debug-quick-look

2.11.11 / 2022–5-16

  • به‌روزرسانی wp-dismiss-notice با استفاده از داده‌های گذرا (Transient) و استعلام هفتگی از wp_remote_get()

2.11.10 / 2022-05-10

  • استفاده از sanitize_key() برای کلیدهای سری (Nonce)
  • به‌روزرسانی composer

2.11.9 / 2022-02-05

  • به‌روزرسانی composer

2.11.8 / 2022-01-24

  • فراخوانی WP_Dependency_Installer() در قلاب plugins_loaded برای جلوگیری از بارگذاری pluggable.php.
  • به‌روزرسانی WP_Dependency_Installer

2.11.7 / 2022-01-18

  • اصلاح منطق در شرط تأیید اعتبار کلید سری

2.11.6 /2022-01-18

  • تأیید اعتبار صحیح کلید سری
  • به‌روزرسانی‌های composer

2.11.5 / 2022-01-11

  • اصلاح خطای ناشی از انتشار ناموفق 🤦‍♂️

2.11.4 / 2022-01-10

  • به‌روزرسانی‌های composer

2.11.3 / 2021-12-19

  • اصلاحات بیشتر از طریق به‌روزرسانی composer

2.11.2 / 2021-09-24

  • به‌روزرسانی composer برای رفع یک خطای جدید

2.11.1 / 2021-09-24

  • مقداردهی اولیه در قلاب plugins_loaded
  • به‌روزرسانی composer

2.11.0 / 2021-09-23

  • رفع مشکل امنیتی مربوط به بررسی توانایی‌ها (Capabilities)، CSRF احتمالی و بررسی‌های کلید سری.

2.10.2 / 2021-09-04

  • استفاده انحصاری از esc_attr_e برای ترجمه رشته‌ها

2.10.1 / 2021-07-23

  • رفع اعلان PHP در Settings:line 68
  • به‌روزرسانی منوی نوار مدیریت Debug Quick Look برای موبایل

2.10.0 / 2021-06-30

  • به‌روزرسانی Debug Quick Look برای نمایش منو در موبایل

2.9.3 / 2021-06-22

  • به‌روزرسانی WPConfigTransformer برای استفاده از لنگر جایگزین در صورت نبود لنگر پیش‌فرض
  • افزودن GitHub Actions @10up برای یکپارچه‌سازی SVN وردپرس

2.9.1 / 2020-11-17

  • به‌روزرسانی کتابخانه wp-dependency-installer
  • به‌روزرسانی wp-cli/wp-config-transformer
  • غیرفعال کردن نرمال‌سازی نقل‌قول در set_pre_activation_constants()؛ این کار می‌تواند باعث ایجاد مشکلاتی شود #10

2.9.0 / 2020-08-15

  • استفاده از بلوک try/catch برای شیء WPConfigTransformer

2.8.0 / 2020-08-01

  • خروج در صورت فراخوانی مستقیم
  • نکته: من خطای استثنای WPConfigTransformer را مشاهده کرده‌ام. مشکل این است که file_get_contents() روی مسیر پرونده wp-config.php در زمان‌های تصادفی، مقدار خالی برمی‌گرداند. دیگر زمانی برای پیگیری این خطای تصادفی در wp-cli/wp-config-transformer صرف نخواهم کرد. نسخه اصلاح‌شده wp-cli/wp-config-transformer اکنون موجود است.

2.7.2 / 2020-06-01

  • تست فراگیر wp-config.php؛ با این حال هنوز گزارش‌هایی از «صفحه سفید مرگ» (WSOD) وجود دارد.

2.7.1 / 2020-5-15

  • بازگشت زودهنگام اگر wp-config.php قبل از فراخوانی WPConfigTransformer خالی باشد

2.7.0 / 2020-04-30

  • شروع بارگذاری در قلاب init
  • اجرای process_filter_constants() به‌عنوان یک متد زنجیره‌ای در Bootstrap

2.6.1 / 2020-03-28

  • انتقال پیوند اقدام تنظیمات به ابتدای لیست
  • تغییر تست مربوط به خالی بودن پرونده wp-config.php

2.6.0 / 2020-02-28

  • بارگذاری بارگذار خودکار (Autoloader) در پرونده اصلی
  • به‌روزرسانی وابستگی‌های composer

2.5.8 / 2019-12-23

  • اصلاح خطای مربوط به بررسی خالی بودن wp-config.php

2.5.7 / 2019-12-20

  • بررسی و خروج زودهنگام در صورت خالی بودن wp-config.php
  • بازگرداندن آرایه خالی برای خروج فوق

2.5.6 / 2019-11-02

  • خروج زودهنگام اگر wp-config.php در توابع خاص تنظیم نشده باشد

2.5.5 / 2019-09-17

  • به‌روزرسانی composer.json برای به‌روزرسانی wp-dependency-installer؛ اکنون برای عملگر Spread به حداقل PHP 5.6 نیاز است
  • به‌روزرسانی composer

2.5.4 / 2019-04-25

  • افزودن بررسی برای قابلیت نوشتن wp-config.php و خروج با اعلان در صورت عدم یافتن

2.5.3 / 2019-04-01

  • به‌روزرسانی Debug Quick Look برای نمایش مسیر پرونده لاگ خطا

2.5.1 / 2019-04-01

  • نسخه به‌روز شده wp-cli/wp-config-transformer

2.5.0 / 2019-03-25

  • افزودن فیلتر wp_debugging_add_constants برای کاربران جهت افزودن ثابت‌های اختصاصی خود

2.4.3 / 2019-03-09

  • رفع خطای فراموشی در ایمن‌سازی خروجی (Escaping)

2.4.2 / 2019-02-26

  • افزودن هدر Domain Path

2.4.1 / 2019-02-10

  • بازنویسی (Refactor) تنظیم/بازیابی ثابت‌های پیش از فعال‌سازی

2.4.0 / 2019-02-06

  • ذخیره ثابت‌های پیش از فعال‌سازی برای نصب مجدد هنگام غیرفعال‌سازی

2.3.0 / 2019-02-04

  • جستجو برای wp-config.php در دایرکتوری بالای ABSPATH
  • افزودن فیلتر wp_debugging_config_path برای تنظیم مسیر غیر استاندارد به wp-config.php

2.2.0 / 2019-02-02 🏈

  • انتشار اولیه در مخزن وردپرس

2.1.1 / 2019-02-01

  • نمایش گزینه دور زدن صفحه سفید مرگ تنها در صورت لزوم
  • به‌روزرسانی وابستگی‌ها

2.1.0 / 2019-01-26

  • به‌روزرسانی Debug Quick Look و تغییرات جزئی CSS
  • بهبود پیام‌ها
  • افزودن تنظیم برای ثابت WP_DISABLE_FATAL_ERROR_HANDLER (جلوگیری از صفحه سفید مرگ)
  • افزودن تنظیم پیش‌فرض برای WP_DEBUG (به حالت true)، با قابلیت تغییر

2.0.0 / 2019-01-18

  • بازنویسی کامل
  • افزودن صفحه تنظیمات
  • استفاده از wp-cli/wp-config-transformer برای تغییر wp-config.php
  • شامل کردن norcross/debug-quick-look به‌عنوان وابستگی از طریق composer (استفاده از فورک اختصاصی)
  • به‌روزرسانی POT از طریق composer.json و wp-cli
  • افزودن دارایی‌های تصویری