Changeset 30014 for trunk/src/wp-includes/class-wp-customize-control.php
- Timestamp:
- 10/24/2014 04:31:54 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/class-wp-customize-control.php
r29903 r30014 218 218 } 219 219 220 $this->json['type'] = $this->type; 221 $this->json['active'] = $this->active(); 220 $this->json['type'] = $this->type; 221 $this->json['label'] = $this->label; 222 $this->json['description'] = $this->description; 223 $this->json['active'] = $this->active(); 222 224 } 223 225 … … 336 338 * Supports basic input types `text`, `checkbox`, `textarea`, `radio`, `select` and `dropdown-pages`. 337 339 * Additional input types such as `email`, `url`, `number`, `hidden` and `date` are supported implicitly. 340 * 341 * Control content can alternately be rendered in JS. See {@see WP_Customize_Control::print_template()}. 338 342 * 339 343 * @since 3.4.0 … … 444 448 } 445 449 } 450 451 /** 452 * Render the control's JS template. 453 * 454 * This function is only run for control types that have been registered with {@see WP_Customize_Manager::register_control_type()}. 455 * 456 * In the future, this will also print the template for the control's container element and be overridable. 457 * 458 * @since 4.1.0 459 */ 460 final public function print_template() { 461 ?> 462 <script type="text/html" id="tmpl-customize-control-<?php echo $this->type; ?>-content"> 463 <?php $this->content_template(); ?> 464 </script> 465 <?php 466 } 467 468 /** 469 * An Underscore (JS) template for this control's content (but not its container). 470 * 471 * Class variables for this control class are available in the `data` JS object; 472 * export custom variables by overriding {@see WP_Customize_Control::to_json()}. 473 * 474 * @see WP_Customize_Control::print_template() 475 * 476 * @since 4.1.0 477 */ 478 protected function content_template() {} 479 446 480 } 447 481 … … 500 534 parent::to_json(); 501 535 $this->json['statuses'] = $this->statuses; 502 }503 504 /** 505 * Render the control's content.506 * 507 * @since 3.4.0508 * /509 public function render_content() {510 $this_default = $this->setting->default;511 $default_attr = ''; 512 if ( $this_default ) {513 if ( false === strpos( $this_default, '#' ) )514 $this_default = '#' . $this_default;515 $default_attr = ' data-default-color="' . esc_attr( $this_default ) . '"';516 }517 // The input's value gets set by JS. Don't fill it.536 $this->json['defaultValue'] = $this->setting->default; 537 } 538 539 /** 540 * Don't render the control content from PHP, as it's rendered via JS on load. 541 * 542 * @since 3.4.0 543 */ 544 public function render_content() {} 545 546 /** 547 * Render a JS template for the content of the color picker control. 548 * 549 * @since 4.1.0 550 */ 551 public function content_template() { 518 552 ?> 553 <# var defaultValue = ''; 554 if ( data.defaultValue ) { 555 if ( '#' !== data.defaultValue.substring( 0, 1 ) ) { 556 defaultValue = '#' + data.defaultValue; 557 } 558 defaultValue = ' data-default-color=' + defaultValue; // Quotes added automatically. 559 } #> 519 560 <label> 520 <?php if ( ! empty( $this->label ) ) : ?> 521 <span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span> 522 <?php endif; 523 if ( ! empty( $this->description ) ) : ?> 524 <span class="description customize-control-description"><?php echo $this->description; ?></span> 525 <?php endif; ?> 526 561 <# if ( data.label ) { #> 562 <span class="customize-control-title">{{ data.label }}</span> 563 <# } #> 564 <# if ( data.description ) { #> 565 <span class="description customize-control-description">{{ data.description }}</span> 566 <# } #> 527 567 <div class="customize-control-content"> 528 <input class="color-picker-hex" type="text" maxlength="7" placeholder="<?php esc_attr_e( 'Hex Value' ); ?>" <?php echo $default_attr; ?>/>568 <input class="color-picker-hex" type="text" maxlength="7" placeholder="<?php esc_attr_e( 'Hex Value' ); ?>" {{ defaultValue }} /> 529 569 </div> 530 570 </label>
Note: See TracChangeset
for help on using the changeset viewer.