123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- <?php
- /**
- * Customize API: WP_Customize_Site_Icon_Control class
- *
- * @package WordPress
- * @subpackage Customize
- * @since 4.4.0
- */
- /**
- * Customize Site Icon control class.
- *
- * Used only for custom functionality in JavaScript.
- *
- * @since 4.3.0
- *
- * @see WP_Customize_Cropped_Image_Control
- */
- class WP_Customize_Site_Icon_Control extends WP_Customize_Cropped_Image_Control {
- /**
- * Control type.
- *
- * @since 4.3.0
- * @access public
- * @var string
- */
- public $type = 'site_icon';
- /**
- * Constructor.
- *
- * @since 4.3.0
- * @access public
- *
- * @param WP_Customize_Manager $manager Customizer bootstrap instance.
- * @param string $id Control ID.
- * @param array $args Optional. Arguments to override class property defaults.
- */
- public function __construct( $manager, $id, $args = array() ) {
- parent::__construct( $manager, $id, $args );
- add_action( 'customize_controls_print_styles', 'wp_site_icon', 99 );
- }
- /**
- * Renders a JS template for the content of the site icon control.
- *
- * @since 4.5.0
- * @access public
- */
- public function content_template() {
- ?>
- <label for="{{ data.settings['default'] }}-button">
- <# if ( data.label ) { #>
- <span class="customize-control-title">{{ data.label }}</span>
- <# } #>
- <# if ( data.description ) { #>
- <span class="description customize-control-description">{{{ data.description }}}</span>
- <# } #>
- </label>
- <# if ( data.attachment && data.attachment.id ) { #>
- <div class="attachment-media-view">
- <# if ( data.attachment.sizes ) { #>
- <div class="site-icon-preview wp-clearfix">
- <div class="favicon-preview">
- <img src="<?php echo esc_url( admin_url( 'images/' . ( is_rtl() ? 'browser-rtl.png' : 'browser.png' ) ) ); ?>" class="browser-preview" width="182" alt="" />
- <div class="favicon">
- <img src="{{ data.attachment.sizes.full ? data.attachment.sizes.full.url : data.attachment.url }}" alt="<?php esc_attr_e( 'Preview as a browser icon' ); ?>"/>
- </div>
- <span class="browser-title" aria-hidden="true"><?php bloginfo( 'name' ); ?></span>
- </div>
- <img class="app-icon-preview" src="{{ data.attachment.sizes.full ? data.attachment.sizes.full.url : data.attachment.url }}" alt="<?php esc_attr_e( 'Preview as an app icon' ); ?>"/>
- </div>
- <# } #>
- <div class="actions">
- <# if ( data.canUpload ) { #>
- <button type="button" class="button remove-button"><?php echo $this->button_labels['remove']; ?></button>
- <button type="button" class="button upload-button" id="{{ data.settings['default'] }}-button"><?php echo $this->button_labels['change']; ?></button>
- <# } #>
- </div>
- </div>
- <# } else { #>
- <div class="attachment-media-view">
- <div class="placeholder">
- <?php echo $this->button_labels['placeholder']; ?>
- </div>
- <div class="actions">
- <# if ( data.defaultAttachment ) { #>
- <button type="button" class="button default-button"><?php echo $this->button_labels['default']; ?></button>
- <# } #>
- <# if ( data.canUpload ) { #>
- <button type="button" class="button upload-button" id="{{ data.settings['default'] }}-button"><?php echo $this->button_labels['select']; ?></button>
- <# } #>
- </div>
- </div>
- <# } #>
- <?php
- }
- }
|