WordPress.org

Make WordPress Core

Ticket #46925: 46925.3.diff

File 46925.3.diff, 4.6 KB (added by garrett-eclipse, 7 months ago)

Refreshed patch to introduce slugs to active theme name, parent theme name and the parent theme found in the active theme section

  • src/wp-admin/includes/class-wp-debug-data.php

     
    126126                        'fields' => array(),
    127127                );
    128128
    129                 $info['wp-themes'] = array(
    130                         'label'      => __( 'Other Themes' ),
     129                $info['wp-parent-theme'] = array(
     130                        'label'  => __( 'Parent Theme' ),
     131                        'fields' => array(),
     132                );
     133
     134                $info['wp-themes-inactive'] = array(
     135                        'label'      => __( 'Inactive Themes' ),
    131136                        'show_count' => true,
    132137                        'fields'     => array(),
    133138                );
     
    872877                        'name'           => array(
    873878                                'label' => __( 'Name' ),
    874879                                // phpcs:ignore WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase
    875                                 'value' => $active_theme->Name,
     880                                'value' => sprintf(
     881                                        // translators: 1: Parent theme name. 2: Parent theme slug.
     882                                        __( '%1$s (%2$s)' ),
     883                                        // phpcs:ignore WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase
     884                                        $active_theme->Name,
     885                                        $active_theme->stylesheet
     886                                ),
    876887                        ),
    877888                        'version'        => array(
    878889                                'label' => __( 'Version' ),
     
    891902                        ),
    892903                        'parent_theme'   => array(
    893904                                'label' => __( 'Parent theme' ),
    894                                 'value' => ( $active_theme->parent_theme ? $active_theme->parent_theme : __( 'None' ) ),
    895                                 'debug' => ( $active_theme->parent_theme ? $active_theme->parent_theme : 'none' ),
     905                                'value' => ( $active_theme->parent_theme ? $active_theme->parent_theme . ' (' . $active_theme->template . ')' : __( 'None' ) ),
     906                                'debug' => ( $active_theme->parent_theme ? $active_theme->parent_theme . ' (' . $active_theme->template . ')' : 'none' ),
    896907                        ),
    897908                        'theme_features' => array(
    898909                                'label' => __( 'Theme features' ),
     
    900911                        ),
    901912                );
    902913
     914                $parent_theme  = $active_theme->parent();
     915
     916                if ( $parent_theme ) {
     917                        // phpcs:ignore WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase
     918                        $parent_theme_version       = $parent_theme->Version;
     919                        $parent_theme_version_debug = $parent_theme_version;
     920
     921                        if ( array_key_exists( $parent_theme->stylesheet, $theme_updates ) ) {
     922                                $parent_theme_update_new_version = $theme_updates[ $parent_theme->stylesheet ]->update['new_version'];
     923
     924                                // translators: %s: Latest theme version number.
     925                                $parent_theme_version       .= ' ' . sprintf( __( '(Latest version: %s)' ), $parent_theme_update_new_version );
     926                                $parent_theme_version_debug .= sprintf( ' (latest version: %s)', $parent_theme_update_new_version );
     927                        }
     928
     929                        $parent_theme_author_uri = $parent_theme->offsetGet( 'Author URI' );
     930
     931                        $info['wp-parent-theme']['fields'] = array(
     932                                'name'           => array(
     933                                        'label' => __( 'Name' ),
     934                                        // phpcs:ignore WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase
     935                                        'value' => sprintf(
     936                                                // translators: 1: Parent theme name. 2: Parent theme slug.
     937                                                __( '%1$s (%2$s)' ),
     938                                                // phpcs:ignore WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase
     939                                                $parent_theme->Name,
     940                                                $parent_theme->stylesheet
     941                                        ),
     942                                ),
     943                                'version'        => array(
     944                                        'label' => __( 'Version' ),
     945                                        'value' => $parent_theme_version,
     946                                        'debug' => $parent_theme_version_debug,
     947                                ),
     948                                'author'         => array(
     949                                        'label' => __( 'Author' ),
     950                                        // phpcs:ignore WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase
     951                                        'value' => wp_kses( $parent_theme->Author, array() ),
     952                                ),
     953                                'author_website' => array(
     954                                        'label' => __( 'Author website' ),
     955                                        'value' => ( $parent_theme_author_uri ? $parent_theme_author_uri : __( 'Undefined' ) ),
     956                                        'debug' => ( $parent_theme_author_uri ? $parent_theme_author_uri : '(undefined)' ),
     957                                ),
     958                        );
     959                }
     960
    903961                // Populate a list of all themes available in the install.
    904962                $all_themes = wp_get_themes();
    905963
    906964                foreach ( $all_themes as $theme_slug => $theme ) {
    907965                        // Ignore the currently active theme from the list of all themes.
    908                         if ( $active_theme->stylesheet === $theme_slug ) {
     966                        if ( $active_theme->stylesheet === $theme_slug || $parent_theme->stylesheet === $theme_slug ) {
    909967                                continue;
    910968                        }
    911969                        // phpcs:ignore WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase
     
    9441002                        }
    9451003
    9461004                        // phpcs:ignore WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase
    947                         $info['wp-themes']['fields'][ sanitize_text_field( $theme->Name ) ] = array(
     1005                        $info['wp-themes-inactive']['fields'][ sanitize_text_field( $theme->Name ) ] = array(
    9481006                                'label' => sprintf(
    9491007                                        // translators: 1: Theme name. 2: Theme slug.
    9501008                                        __( '%1$s (%2$s)' ),