WordPress.org

Make WordPress Core

Ticket #28477: 28477.4.diff

File 28477.4.diff, 3.3 KB (added by celloexpressions, 6 years ago)

Refresh with descriptions.

  • src/wp-admin/css/customize-controls.css

     
    293293        line-height: 28px;
    294294}
    295295
    296 .customize-control input[type="text"] {
     296.customize-control input[type="text"],
     297.customize-control input[type="password"],
     298.customize-control input[type="email"],
     299.customize-control input[type="number"],
     300.customize-control input[type="search"],
     301.customize-control input[type="tel"],
     302.customize-control input[type="url"] {
    297303        width: 98%;
    298304        line-height: 18px;
    299305        margin: 0;
    300306}
    301307
     308.customize-control-textarea textarea {
     309        width: 100%;
     310        resize: vertical;
     311}
     312
    302313.customize-control select {
    303314        min-width: 50%;
    304315        max-width: 100%;
  • src/wp-includes/class-wp-customize-control.php

     
    7171         * @access public
    7272         * @var array
    7373         */
     74        public $input_attrs = array();
     75
     76        /**
     77         * @access public
     78         * @var array
     79         */
    7480        public $json = array();
    7581
    7682        /**
     
    250256                echo $this->get_link( $setting_key );
    251257        }
    252258
     259        /**
     260         * Render the custom attributes for the control's input element.
     261         *
     262         * @since 4.0.0
     263         */
     264        public function input_attrs() {
     265                $attrs = $this->input_attrs;
     266                foreach( $attrs as $attr => $value ) {
     267                        echo $attr . '="' . esc_attr( $value ) . '" ';
     268                }
     269        }
     270
    253271        /**
    254272         * Render the control's content.
    255273         *
    256274         * Allows the content to be overriden without having to rewrite the wrapper in $this->render().
    257275         *
    258          * Supports basic input types `text`, `checkbox`, `radio`, `select` and `dropdown-pages`.
     276         * Supports basic input types `text`, `checkbox`, `textarea`, `radio`, `select` and `dropdown-pages`.
     277         * Additional input types such as `email`, `url`, `number`, `radio`, and `date` are supported implicitly.
    259278         *
    260279         * @since 3.4.0
    261280         */
    262281        protected function render_content() {
    263282                switch( $this->type ) {
    264                         case 'text':
    265                                 ?>
    266                                 <label>
    267                                         <?php if ( ! empty( $this->label ) ) : ?>
    268                                                 <span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
    269                                         <?php endif;
    270                                         if ( ! empty( $this->description ) ) : ?>
    271                                                 <span class="description customize-control-description"><?php echo esc_html( $this->description ); ?></span>
    272                                         <?php endif; ?>
    273                                         <input type="text" value="<?php echo esc_attr( $this->value() ); ?>" <?php $this->link(); ?> />
    274                                 </label>
    275                                 <?php
    276                                 break;
    277283                        case 'checkbox':
    278284                                ?>
    279285                                <label>
     
    349355                                        $dropdown
    350356                                );
    351357                                break;
     358                        default:
     359                                ?>
     360                                <label>
     361                                        <?php if ( ! empty( $this->label ) ) : ?>
     362                                                <span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
     363                                        <?php endif;
     364                                        if ( ! empty( $this->description ) ) : ?>
     365                                                <span class="description customize-control-description"><?php echo esc_html( $this->description ); ?></span>
     366                                        <?php endif; ?>
     367                                        <input type="<?php echo esc_attr( $this->type ); ?>" <?php $this->input_attrs(); ?> value="<?php echo esc_attr( $this->value() ); ?>" <?php $this->link(); ?> />
     368                                </label>
     369                                <?php
     370                                break;
    352371                }
    353372        }
    354373}