diff --git src/wp-admin/js/customize-controls.js src/wp-admin/js/customize-controls.js
index 4f0cf05265..39284d41d8 100644
|
|
|
3897 | 3897 | |
3898 | 3898 | templateId = control.templateSelector; |
3899 | 3899 | |
3900 | | // Use default content template when a standard HTML type is used and there isn't a more specific template existing. |
3901 | | if ( templateId === 'customize-control-' + control.params.type + '-content' && _.contains( standardTypes, control.params.type ) && ! document.getElementById( 'tmpl-' + templateId ) ) { |
| 3900 | // Use default content template when a standard HTML type is used, there isn't a more specific template existing, and the control container is empty. |
| 3901 | if ( |
| 3902 | templateId === 'customize-control-' + control.params.type + '-content' |
| 3903 | && |
| 3904 | _.contains( standardTypes, control.params.type ) |
| 3905 | && |
| 3906 | ! document.getElementById( 'tmpl-' + templateId ) |
| 3907 | && |
| 3908 | 0 === control.container.children().length |
| 3909 | ) { |
3902 | 3910 | templateId = 'customize-control-default-content'; |
3903 | 3911 | } |
3904 | 3912 | |
diff --git src/wp-includes/class-wp-customize-manager.php src/wp-includes/class-wp-customize-manager.php
index c1eb1f31dd..54aeca9847 100644
|
|
final class WP_Customize_Manager { |
4019 | 4019 | <# }); #> |
4020 | 4020 | >{{ inputAttrs.value }}</textarea> |
4021 | 4021 | <# } else if ( 'select' === data.type ) { #> |
| 4022 | <# delete inputAttrs.type; #> |
4022 | 4023 | <select |
4023 | 4024 | <# _.each( _.extend( inputAttrs ), function( value, key ) { #> |
4024 | 4025 | {{{ key }}}="{{ value }}" |