Bird
Raised Fist0
Wordpressframework~5 mins

Debugging with WP_DEBUG in Wordpress

Choose your learning style10 modes available
Introduction

WP_DEBUG helps you find and fix problems in your WordPress site by showing error messages. It makes your site easier to troubleshoot.

When you want to see PHP errors and warnings on your WordPress site.
When a plugin or theme is not working as expected and you need to find the cause.
When developing a new theme or plugin and you want to catch mistakes early.
When you want to improve your site's code quality by fixing notices and deprecated functions.
Syntax
Wordpress
define('WP_DEBUG', true);
Add this line to your wp-config.php file before the line that says /* That's all, stop editing! */.
Set to false to turn off debugging messages.
Examples
Turns on debugging to show errors and warnings on your site.
Wordpress
define('WP_DEBUG', true);
Turns off debugging messages so visitors don't see errors.
Wordpress
define('WP_DEBUG', false);
Shows errors in a log file instead of on the screen, keeping your site clean for visitors.
Wordpress
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Sample Program

This setup turns on debugging and saves errors to a log file instead of showing them on the website. You can check the file wp-content/debug.log to see what went wrong.

Wordpress
<?php
// wp-config.php snippet
// Enable debugging
define('WP_DEBUG', true);

// Enable debug log to wp-content/debug.log
define('WP_DEBUG_LOG', true);

// Hide errors from displaying on the site
define('WP_DEBUG_DISPLAY', false);

/* That's all, stop editing! Happy blogging. */
OutputSuccess
Important Notes

Always turn off WP_DEBUG on live sites to avoid showing errors to visitors.

Use WP_DEBUG_LOG to keep a record of errors without disturbing users.

Check the debug.log file regularly to catch and fix issues early.

Summary

WP_DEBUG helps you see and fix errors in WordPress.

Turn it on in wp-config.php by setting define('WP_DEBUG', true);.

Use WP_DEBUG_LOG and WP_DEBUG_DISPLAY to control where errors appear.

Practice

(1/5)
1. What is the main purpose of enabling WP_DEBUG in WordPress?
easy
A. To speed up the website loading time
B. To display and log PHP errors and warnings for debugging
C. To disable all plugins temporarily
D. To change the website theme automatically

Solution

  1. Step 1: Understand WP_DEBUG role

    WP_DEBUG is a constant in WordPress that helps developers see PHP errors and warnings.
  2. Step 2: Identify its main use

    It is used to display and log errors to help fix issues during development.
  3. Final Answer:

    To display and log PHP errors and warnings for debugging -> Option B
  4. Quick Check:

    WP_DEBUG shows errors = B [OK]
Hint: WP_DEBUG shows errors to help fix bugs [OK]
Common Mistakes:
  • Thinking WP_DEBUG speeds up the site
  • Confusing WP_DEBUG with plugin management
  • Assuming WP_DEBUG changes themes
2. Which line correctly enables debugging in the wp-config.php file?
easy
A. define('WP_DEBUG', false);
B. define(WP_DEBUG, true);
C. WP_DEBUG = true;
D. define('WP_DEBUG', true);

Solution

  1. Step 1: Check correct syntax for defining constants in PHP

    Constants are defined using define('NAME', value); with quotes around the name.
  2. Step 2: Identify correct value to enable debugging

    Setting WP_DEBUG to true enables debugging.
  3. Final Answer:

    define('WP_DEBUG', true); -> Option D
  4. Quick Check:

    Correct PHP constant syntax with true = C [OK]
Hint: Use define('WP_DEBUG', true); with quotes and semicolon [OK]
Common Mistakes:
  • Missing quotes around WP_DEBUG
  • Using assignment (=) instead of define()
  • Setting WP_DEBUG to false to enable debugging
3. Given this code in wp-config.php:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
What happens when a PHP error occurs?
medium
A. Error is logged to debug.log but not shown on the website
B. Error is neither shown nor logged
C. Error is shown on the website and logged to debug.log
D. Error is shown on the website but not logged

Solution

  1. Step 1: Analyze WP_DEBUG_DISPLAY setting

    WP_DEBUG_DISPLAY is set to false, so errors are not shown on the website.
  2. Step 2: Analyze WP_DEBUG_LOG setting

    WP_DEBUG_LOG is true, so errors are logged to the debug.log file.
  3. Final Answer:

    Error is logged to debug.log but not shown on the website -> Option A
  4. Quick Check:

    Display false + Log true = A [OK]
Hint: Display false hides errors; log true saves them [OK]
Common Mistakes:
  • Assuming errors show on site when WP_DEBUG_DISPLAY is false
  • Thinking errors are not logged if not displayed
  • Confusing WP_DEBUG_LOG with WP_DEBUG_DISPLAY
4. You enabled WP_DEBUG but no errors appear on your site or in the log file. What is the most likely cause?
medium
A. You forgot to set WP_DEBUG_LOG to true
B. You set WP_DEBUG_DISPLAY to true
C. You set WP_DEBUG to false
D. You did not save the wp-config.php file

Solution

  1. Step 1: Check WP_DEBUG status

    WP_DEBUG is enabled, so errors should appear or be logged.
  2. Step 2: Check if errors are logged

    If WP_DEBUG_LOG is not true, errors won't be saved to the log file.
  3. Final Answer:

    You forgot to set WP_DEBUG_LOG to true -> Option A
  4. Quick Check:

    Logging off means no error logs = A [OK]
Hint: Enable WP_DEBUG_LOG to save errors to file [OK]
Common Mistakes:
  • Thinking WP_DEBUG_DISPLAY controls logging
  • Assuming WP_DEBUG false but errors show
  • Not saving wp-config.php after changes
5. You want to debug a plugin error but avoid showing errors to visitors. Which settings in wp-config.php should you use?
hard
A. define('WP_DEBUG', false); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false);
B. define('WP_DEBUG', false); define('WP_DEBUG_LOG', false); define('WP_DEBUG_DISPLAY', true);
C. define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false);
D. define('WP_DEBUG', true); define('WP_DEBUG_LOG', false); define('WP_DEBUG_DISPLAY', true);

Solution

  1. Step 1: Enable debugging without showing errors

    Set WP_DEBUG to true to enable debugging and WP_DEBUG_DISPLAY to false to hide errors from visitors.
  2. Step 2: Enable logging to capture errors

    Set WP_DEBUG_LOG to true to save errors to the debug.log file for review.
  3. Final Answer:

    define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false); -> Option C
  4. Quick Check:

    Debug on + Log on + Display off = D [OK]
Hint: Show no errors but log them with WP_DEBUG_DISPLAY false [OK]
Common Mistakes:
  • Turning off WP_DEBUG disables all error reporting
  • Showing errors to visitors by setting WP_DEBUG_DISPLAY true
  • Not enabling WP_DEBUG_LOG so errors are lost
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard