[wp-trac] [WordPress Trac] #58265: Show defined but empty values for constants in Site Health

WordPress Trac noreply at wordpress.org
Thu Jul 25 13:53:31 UTC 2024


#58265: Show defined but empty values for constants in Site Health
-------------------------------------------------+-------------------------
 Reporter:  Presskopp                            |       Owner:  (none)
     Type:  enhancement                          |      Status:  new
 Priority:  normal                               |   Milestone:  Awaiting
                                                 |  Review
Component:  Site Health                          |     Version:
 Severity:  normal                               |  Resolution:
 Keywords:  has-screenshots good-first-bug has-  |     Focuses:
  patch                                          |
-------------------------------------------------+-------------------------

Comment (by iflairwebtechnologies):

 Hello @Presskopp

 Displaying a message like "Defined, but empty" or "empty value" for
 constants with empty but defined values would definitely improve clarity.
 This way, users can distinguish between undefined constants and those that
 are defined but empty. Here’s how you might implement this in a WordPress
 environment:

 Example Code Implementation
 Find the code responsible for displaying the constants:

 Typically, this would be in a debugging or settings page, such as in a
 custom admin page or a debugging plugin.
 Modify the display logic:

 Add a check to see if the constant is defined and if its value is an empty
 string. If so, set the display value to "Defined, but empty" or similar.
 Here's an example of how you might modify the code to achieve this:

 {{{#!php
 <?php
 // Function to display WordPress constants
 function display_wp_constants() {
     $constants = [
         'DB_COLLATE',
         'DB_CHARSET',
         'WP_DEBUG',
         // Add other constants as needed
     ];

     echo '<table>';
     echo '<tr><th>Constant</th><th>Value</th></tr>';

     foreach ($constants as $constant) {
         if (defined($constant)) {
             $value = constant($constant);
             if ($value === '') {
                 $display_value = 'Defined, but empty';
             } else {
                 $display_value = $value;
             }
         } else {
             $display_value = 'Not defined';
         }

         echo '<tr><td>' . $constant . '</td><td>' . $display_value .
 '</td></tr>';
     }

     echo '</table>';
 }

 }}}

 Steps to Implement
 Create a Custom Plugin or Theme Function:

 If this is for a custom plugin or theme, you can add the
 display_wp_constants function to the appropriate file (e.g., functions.php
 in a theme or the main plugin file).
 Hook into the Admin Page:

 Hook this function into the appropriate admin page or section where you
 want to display the constants.

 {{{#!php
 <?php
 add_action('admin_menu', 'add_constants_display_page');

 function add_constants_display_page() {
     add_menu_page(
         'WP Constants',
         'WP Constants',
         'manage_options',
         'wp-constants',
         'display_wp_constants',
         'dashicons-admin-generic'
     );
 }

 }}}

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/58265#comment:4>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list