Make WordPress Core

Ticket #47692: 47692.diff

File 47692.diff, 1.6 KB (added by chintan1896, 5 years ago)

wp-includes/class-wp-customize-control.php

  • wp-includes/class-wp-customize-control.php

    diff --git a/wp-includes/class-wp-customize-control.php b/wp-includes/class-wp-customize-control.php
    index 8825832..fa02e21 100644
    a b class WP_Customize_Control { 
    116116        public $choices = array();
    117117
    118118        /**
     119         * Optgroup for select control.
     120         *
     121         * @since 5.3.0
     122         * @var bool
     123         */
     124        public $optgroup = false;
     125
     126        /**
    119127         * List of custom input attributes for control output, where attribute names are the keys and values are the values.
    120128         *
    121129         * Not used for 'checkbox', 'radio', 'select', 'textarea', or 'dropdown-pages' control types.
    class WP_Customize_Control { 
    546554
    547555                                <select id="<?php echo esc_attr( $input_id ); ?>" <?php echo $describedby_attr; ?> <?php $this->link(); ?>>
    548556                                        <?php
    549                                         foreach ( $this->choices as $value => $label ) {
    550                                                 echo '<option value="' . esc_attr( $value ) . '"' . selected( $this->value(), $value, false ) . '>' . $label . '</option>';
     557                                        if ( $this->optgroup ) {
     558                                                foreach ( $this->choices as $optgroup_label => $values ) {
     559                                                        echo '<optgroup label="' .  esc_attr( $optgroup_label ) . '">';
     560                                                                foreach ( $values as $value => $label ) {
     561                                                                        echo '<option value="' . esc_attr( $value ) . '"' . selected( $this->value(), $value, false ) . '>' . $label . '</option>';
     562                                                                }
     563                                                        echo '</optgroup>';
     564                                                }
     565                                        } else{
     566                                                foreach ( $this->choices as $value => $label ) {
     567                                                        echo '<option value="' . esc_attr( $value ) . '"' . selected( $this->value(), $value, false ) . '>' . $label . '</option>';
     568                                                }
    551569                                        }
    552570                                        ?>
    553571                                </select>