summaryrefslogtreecommitdiffstats
path: root/wp-includes/customize/class-wp-customize-site-icon-control.php
diff options
context:
space:
mode:
Diffstat (limited to 'wp-includes/customize/class-wp-customize-site-icon-control.php')
-rw-r--r--wp-includes/customize/class-wp-customize-site-icon-control.php97
1 files changed, 97 insertions, 0 deletions
diff --git a/wp-includes/customize/class-wp-customize-site-icon-control.php b/wp-includes/customize/class-wp-customize-site-icon-control.php
new file mode 100644
index 0000000..942000a
--- /dev/null
+++ b/wp-includes/customize/class-wp-customize-site-icon-control.php
@@ -0,0 +1,97 @@
+<?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
+ * @var string
+ */
+ public $type = 'site_icon';
+
+ /**
+ * Constructor.
+ *
+ * @since 4.3.0
+ *
+ * @see WP_Customize_Control::__construct()
+ *
+ * @param WP_Customize_Manager $manager Customizer bootstrap instance.
+ * @param string $id Control ID.
+ * @param array $args Optional. Arguments to override class property defaults.
+ * See WP_Customize_Control::__construct() for information
+ * on accepted arguments. Default empty array.
+ */
+ 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
+ */
+ public function content_template() {
+ ?>
+ <# if ( data.label ) { #>
+ <span class="customize-control-title">{{ data.label }}</span>
+ <# } #>
+ <# if ( data.description ) { #>
+ <span class="description customize-control-description">{{{ data.description }}}</span>
+ <# } #>
+
+ <# 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"><# print( '<?php echo esc_js( get_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"><?php echo $this->button_labels['change']; ?></button>
+ <# } #>
+ </div>
+ </div>
+ <# } else { #>
+ <div class="attachment-media-view">
+ <# if ( data.canUpload ) { #>
+ <button type="button" class="upload-button button-add-media"><?php echo $this->button_labels['site_icon']; ?></button>
+ <# } #>
+ <div class="actions">
+ <# if ( data.defaultAttachment ) { #>
+ <button type="button" class="button default-button"><?php echo $this->button_labels['default']; ?></button>
+ <# } #>
+ </div>
+ </div>
+ <# } #>
+ <?php
+ }
+}