3 * Customize API: WP_Customize_Site_Icon_Control class
6 * @subpackage Customize
11 * Customize Site Icon control class.
13 * Used only for custom functionality in JavaScript.
17 * @see WP_Customize_Cropped_Image_Control
19 class WP_Customize_Site_Icon_Control extends WP_Customize_Cropped_Image_Control {
28 public $type = 'site_icon';
36 * @param WP_Customize_Manager $manager Customizer bootstrap instance.
37 * @param string $id Control ID.
38 * @param array $args Optional. Arguments to override class property defaults.
40 public function __construct( $manager, $id, $args = array() ) {
41 parent::__construct( $manager, $id, $args );
42 add_action( 'customize_controls_print_styles', 'wp_site_icon', 99 );
46 * Renders a JS template for the content of the site icon control.
51 public function content_template() {
53 <label for="{{ data.settings['default'] }}-button">
54 <# if ( data.label ) { #>
55 <span class="customize-control-title">{{ data.label }}</span>
57 <# if ( data.description ) { #>
58 <span class="description customize-control-description">{{{ data.description }}}</span>
62 <# if ( data.attachment && data.attachment.id ) { #>
63 <# if ( data.attachment.sizes ) { #>
65 <div class="container">
66 <div class="site-icon-preview">
67 <div class="favicon-preview">
68 <img src="<?php echo esc_url( admin_url( 'images/browser.png' ) ); ?>" class="browser-preview" width="182" alt="<?php esc_attr_e( 'Browser interface preview' ); ?>" />
71 <img id="preview-favicon" src="{{ data.attachment.sizes.full.url }}" alt="<?php esc_attr_e( 'Preview as a browser icon' ); ?>"/>
73 <span class="browser-title"><?php bloginfo( 'name' ); ?></span>
75 <img class="app-icon-preview" src="{{ data.attachment.sizes.full.url }}" alt="<?php esc_attr_e( 'Preview as an app icon' ); ?>"/>
81 <# if ( data.canUpload ) { #>
82 <button type="button" class="button remove-button"><?php echo $this->button_labels['remove']; ?></button>
83 <button type="button" class="button upload-button" id="{{ data.settings['default'] }}-button"><?php echo $this->button_labels['change']; ?></button>
84 <div style="clear:both"></div>
89 <div class="container">
90 <div class="placeholder">
92 <span><?php echo $this->button_labels['placeholder']; ?></span>
98 <# if ( data.defaultAttachment ) { #>
99 <button type="button" class="button default-button"><?php echo $this->button_labels['default']; ?></button>
101 <# if ( data.canUpload ) { #>
102 <button type="button" class="button upload-button" id="{{ data.settings['default'] }}-button"><?php echo $this->button_labels['select']; ?></button>
104 <div style="clear:both"></div>