/** * Outputs the markup for a video tag to be used in an Underscore template * when data.model is passed. * * @since 3.9.0 */ function wp_underscore_video_template() { $video_types = wp_get_video_extensions(); ?> <# var w_rule = '', classes = [], w, h, settings = wp.media.view.settings, isYouTube = isVimeo = false;
/** * Prints the templates used in the media manager. * * @since 3.5.0 */ function wp_print_media_templates() { $class = 'media-modal wp-core-ui';
$alt_text_description = sprintf( /* translators: 1: Link to tutorial, 2: Additional link attributes, 3: Accessibility text. */ __( '<a href="%1$s" %2$s>Learn how to describe the purpose of the image%3$s</a>. Leave empty if the image is purely decorative.' ), /* translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations. */ esc_url( __( 'https://www.w3.org/WAI/tutorials/images/decision-tree/' ) ), 'target="_blank"', sprintf( '<span class="screen-reader-text"> %s</span>', /* translators: Hidden accessibility text. */ __( '(opens in a new tab)' ) ) ); ?>
<?php // Template for the media frame: used both in the media grid and in the media modal. ?> <script type="text/html" id="tmpl-media-frame"> <div class="media-frame-title" id="media-frame-title"></div> <h2 class="media-frame-menu-heading"><?php _ex( 'Actions', 'media modal menu actions' ); ?></h2> <button type="button" class="button button-link media-frame-menu-toggle" aria-expanded="false"> <?php _ex( 'Menu', 'media modal menu' ); ?> <span class="dashicons dashicons-arrow-down" aria-hidden="true"></span> </button> <div class="media-frame-menu"></div> <div class="media-frame-tab-panel"> <div class="media-frame-router"></div> <div class="media-frame-content"></div> </div> <h2 class="media-frame-actions-heading screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'Selected media actions' ); ?> </h2> <div class="media-frame-toolbar"></div> <div class="media-frame-uploader"></div> </script>
<?php // Template for the window uploader, used for example in the media grid. ?> <script type="text/html" id="tmpl-uploader-window"> <div class="uploader-window-content"> <div class="uploader-editor-title"><?php _e( 'Drop files to upload' ); ?></div> </div> </script>
<?php // Template for the editor uploader. ?> <script type="text/html" id="tmpl-uploader-editor"> <div class="uploader-editor-content"> <div class="uploader-editor-title"><?php _e( 'Drop files to upload' ); ?></div> </div> </script>
<?php // Template for the inline uploader, used for example in the Media Library admin page - Add. ?> <script type="text/html" id="tmpl-uploader-inline"> <# var messageClass = data.message ? 'has-upload-message' : 'no-upload-message'; #> <# if ( data.canClose ) { #> <button class="close dashicons dashicons-no"><span class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'Close uploader' ); ?> </span></button> <# } #> <div class="uploader-inline-content {{ messageClass }}"> <# if ( data.message ) { #> <h2 class="upload-message">{{ data.message }}</h2> <# } #> <?php if ( ! _device_can_upload() ) : ?> <div class="upload-ui"> <h2 class="upload-instructions"><?php _e( 'Your browser cannot upload files' ); ?></h2> <p> <?php printf( /* translators: %s: https://apps.wordpress.org/ */ __( 'The web browser on your device cannot be used to upload files. You may be able to use the <a href="%s">native app for your device</a> instead.' ), 'https://apps.wordpress.org/' ); ?> </p> </div> <?php elseif ( is_multisite() && ! is_upload_space_available() ) : ?> <div class="upload-ui"> <h2 class="upload-instructions"><?php _e( 'Upload Limit Exceeded' ); ?></h2> <?php /** This action is documented in wp-admin/includes/media.php */ do_action( 'upload_ui_over_quota' ); ?> </div> <?php else : ?> <div class="upload-ui"> <h2 class="upload-instructions drop-instructions"><?php _e( 'Drop files to upload' ); ?></h2> <p class="upload-instructions drop-instructions"><?php _ex( 'or', 'Uploader: Drop files here - or - Select Files' ); ?></p> <button type="button" class="browser button button-hero" aria-labelledby="post-upload-info"><?php _e( 'Select Files' ); ?></button> </div>
<div class="upload-inline-status"></div>
<div class="post-upload-ui" id="post-upload-info"> <?php /** This action is documented in wp-admin/includes/media.php */ do_action( 'pre-upload-ui' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores /** This action is documented in wp-admin/includes/media.php */ do_action( 'pre-plupload-upload-ui' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores
if ( 10 === remove_action( 'post-plupload-upload-ui', 'media_upload_flash_bypass' ) ) { /** This action is documented in wp-admin/includes/media.php */ do_action( 'post-plupload-upload-ui' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores add_action( 'post-plupload-upload-ui', 'media_upload_flash_bypass' ); } else { /** This action is documented in wp-admin/includes/media.php */ do_action( 'post-plupload-upload-ui' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores }
<?php // Template for the Selection status bar. ?> <script type="text/html" id="tmpl-media-selection"> <div class="selection-info"> <span class="count"></span> <# if ( data.editable ) { #> <button type="button" class="button-link edit-selection"><?php _e( 'Edit Selection' ); ?></button> <# } #> <# if ( data.clearable ) { #> <button type="button" class="button-link clear-selection"><?php _e( 'Clear' ); ?></button> <# } #> </div> <div class="selection-view"></div> </script>
<?php // Template for the Attachment display settings, used for example in the sidebar. ?> <script type="text/html" id="tmpl-attachment-display-settings"> <h2><?php _e( 'Attachment Display Settings' ); ?></h2>
<?php // Template for the Gallery settings, used for example in the sidebar. ?> <script type="text/html" id="tmpl-gallery-settings"> <h2><?php _e( 'Gallery Settings' ); ?></h2>
<?php // Template for the Playlists settings, used for example in the sidebar. ?> <script type="text/html" id="tmpl-playlist-settings"> <h2><?php _e( 'Playlist Settings' ); ?></h2>
<?php // Template for the Crop area layout, used for example in the Customizer. ?> <script type="text/html" id="tmpl-crop-content"> <img class="crop-image" src="{{ data.url }}" alt="<?php esc_attr_e( 'Image crop area preview. Requires mouse interaction.' ); ?>" /> <div class="upload-errors"></div> </script>