Changeset 36693 for trunk/src/wp-includes/theme-compat/embed-content.php
- Timestamp:
- 02/24/2016 08:56:18 PM (9 years ago)
- File:
-
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/theme-compat/embed-content.php
r36689 r36693 1 1 <?php 2 2 /** 3 * Contains the post embed template.3 * Contains the post embed content template part. 4 4 * 5 5 * When a post is embedded in an iframe, this file is used to 6 * create the output. 6 * create the content template part output if the active theme does not include 7 * a content-embed.php template. 7 8 * 8 9 * @package WordPress 9 * @subpackage oEmbed10 * @since 4. 4.010 * @subpackage Theme_Compat 11 * @since 4.5.0 11 12 */ 12 13 if ( ! headers_sent() ) {14 header( 'X-WP-embed: true' );15 }16 17 13 ?> 18 <!DOCTYPE html> 19 <html <?php language_attributes(); ?> class="no-js"> 20 <head> 21 <title><?php echo wp_get_document_title(); ?></title> 22 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 23 <?php 24 /** 25 * Print scripts or data in the embed template <head> tag. 26 * 27 * @since 4.4.0 28 */ 29 do_action( 'embed_head' ); 30 ?> 31 </head> 32 <body <?php body_class(); ?>> 33 <?php 34 if ( have_posts() ) : 35 while ( have_posts() ) : the_post(); 36 // Add post thumbnail to response if available. 37 $thumbnail_id = false; 14 <div <?php post_class( 'wp-embed' ); ?>> 15 <?php 16 $thumbnail_id = 0; 38 17 39 18 if ( has_post_thumbnail() ) { … … 45 24 } 46 25 47 if ( $thumbnail_id ) { 48 $aspect_ratio = 1; 49 $measurements = array( 1, 1 ); 50 $image_size = 'full'; // Fallback. 26 $aspect_ratio = 1; 27 $measurements = array( 1, 1 ); 28 $image_size = 'full'; // Fallback. 51 29 52 $meta = wp_get_attachment_metadata( $thumbnail_id ); 53 if ( ! empty( $meta['sizes'] ) ) { 54 foreach ( $meta['sizes'] as $size => $data ) { 55 if ( $data['width'] / $data['height'] > $aspect_ratio ) { 56 $aspect_ratio = $data['width'] / $data['height']; 57 $measurements = array( $data['width'], $data['height'] ); 58 $image_size = $size; 59 } 30 $meta = wp_get_attachment_metadata( $thumbnail_id ); 31 if ( is_array( $meta ) ) { 32 foreach ( $meta['sizes'] as $size => $data ) { 33 if ( $data['width'] / $data['height'] > $aspect_ratio ) { 34 $aspect_ratio = $data['width'] / $data['height']; 35 $measurements = array( $data['width'], $data['height'] ); 36 $image_size = $size; 60 37 } 61 38 } 39 } 62 40 63 /** 64 * Filter the thumbnail image size for use in the embed template. 65 * 66 * @since 4.4.0 67 * 68 * @param string $image_size Thumbnail image size. 69 */ 70 $image_size = apply_filters( 'embed_thumbnail_image_size', $image_size ); 41 /** 42 * Filter the thumbnail image size for use in the embed template. 43 * 44 * @since 4.4.0 45 * @since 4.5.0 Added `$thumbnail_id` parameter. 46 * 47 * @param string $image_size Thumbnail image size. 48 * @param int $thumbnail_id Attachment ID. 49 */ 50 $image_size = apply_filters( 'embed_thumbnail_image_size', $image_size, $thumbnail_id ); 71 51 72 52 $shape = $measurements[0] / $measurements[1] >= 1.75 ? 'rectangular' : 'square'; 73 53 74 /** 75 * Filter the thumbnail shape for use in the embed template. 76 * 77 * Rectangular images are shown above the title 78 * while square images are shown next to the content. 79 * 80 * @since 4.4.0 81 * 82 * @param string $shape Thumbnail image shape. Either 'rectangular' or 'square'. 83 */ 84 $shape = apply_filters( 'embed_thumbnail_image_shape', $shape ); 85 } 54 /** 55 * Filter the thumbnail shape for use in the embed template. 56 * 57 * Rectangular images are shown above the title while square images 58 * are shown next to the content. 59 * 60 * @since 4.4.0 61 * @since 4.5.0 Added `$thumbnail_id` parameter. 62 * 63 * @param string $shape Thumbnail image shape. Either 'rectangular' or 'square'. 64 * @param int $thumbnail_id Attachment ID. 65 */ 66 $shape = apply_filters( 'embed_thumbnail_image_shape', $shape, $thumbnail_id ); 67 68 if ( 'rectangular' === $shape ) : ?> 69 <div class="wp-embed-featured-image rectangular"> 70 <a href="<?php the_permalink(); ?>" target="_top"> 71 <?php echo wp_get_attachment_image( $thumbnail_id, $image_size ); ?> 72 </a> 73 </div> 74 <?php endif; ?> 75 76 <p class="wp-embed-heading"> 77 <a href="<?php the_permalink(); ?>" target="_top"> 78 <?php the_title(); ?> 79 </a> 80 </p> 81 82 <?php if ( 'square' === $shape ) : ?> 83 <div class="wp-embed-featured-image square"> 84 <a href="<?php the_permalink(); ?>" target="_top"> 85 <?php echo wp_get_attachment_image( $thumbnail_id, $image_size ); ?> 86 </a> 87 </div> 88 <?php endif; ?> 89 90 <div class="wp-embed-excerpt"><?php the_excerpt_embed(); ?></div> 91 92 <?php 93 /** 94 * Print additional content after the embed excerpt. 95 * 96 * @since 4.4.0 97 */ 98 do_action( 'embed_content' ); 86 99 ?> 87 <div <?php post_class( 'wp-embed' ); ?>>88 <?php if ( $thumbnail_id && 'rectangular' === $shape ) : ?>89 <div class="wp-embed-featured-image rectangular">90 <a href="<?php the_permalink(); ?>" target="_top">91 <?php echo wp_get_attachment_image( $thumbnail_id, $image_size ); ?>92 </a>93 </div>94 <?php endif; ?>95 96 <p class="wp-embed-heading">97 <a href="<?php the_permalink(); ?>" target="_top">98 <?php the_title(); ?>99 </a>100 </p>101 102 <?php if ( $thumbnail_id && 'square' === $shape ) : ?>103 <div class="wp-embed-featured-image square">104 <a href="<?php the_permalink(); ?>" target="_top">105 <?php echo wp_get_attachment_image( $thumbnail_id, $image_size ); ?>106 </a>107 </div>108 <?php endif; ?>109 110 <div class="wp-embed-excerpt"><?php the_excerpt_embed(); ?></div>111 112 <?php113 /**114 * Print additional content after the embed excerpt.115 *116 * @since 4.4.0117 */118 do_action( 'embed_content' );119 ?>120 121 <div class="wp-embed-footer">122 <div class="wp-embed-site-title">123 <?php124 $site_title = sprintf(125 '<a href="%s" target="_top"><img src="%s" srcset="%s 2x" width="32" height="32" alt="" class="wp-embed-site-icon"/><span>%s</span></a>',126 esc_url( home_url() ),127 esc_url( get_site_icon_url( 32, includes_url( 'images/w-logo-blue.png' ) ) ),128 esc_url( get_site_icon_url( 64, includes_url( 'images/w-logo-blue.png' ) ) ),129 esc_html( get_bloginfo( 'name' ) )130 );131 132 /**133 * Filter the site title HTML in the embed footer.134 *135 * @since 4.4.0136 *137 * @param string $site_title The site title HTML.138 */139 echo apply_filters( 'embed_site_title_html', $site_title );140 ?>141 </div>142 143 <div class="wp-embed-meta">144 <?php145 /**146 * Print additional meta content in the embed template.147 *148 * @since 4.4.0149 */150 do_action( 'embed_content_meta');151 ?>152 </div>153 </div>154 </div>155 <?php156 endwhile;157 else :158 ?>159 <div class="wp-embed">160 <p class="wp-embed-heading"><?php _e( 'Oops! That embed can’t be found.' ); ?></p>161 162 <div class="wp-embed-excerpt">163 <p>164 <?php165 printf(166 /* translators: %s: a link to the embedded site */167 __( 'It looks like nothing was found at this location. Maybe try visiting %s directly?' ),168 '<strong><a href="' . esc_url( home_url() ) . '">' . esc_html( get_bloginfo( 'name' ) ) . '</a></strong>'169 );170 ?>171 </p>172 </div>173 100 174 101 <div class="wp-embed-footer"> 175 <div class="wp-embed-site-title"> 102 <?php the_embed_site_title() ?> 103 104 <div class="wp-embed-meta"> 176 105 <?php 177 $site_title = sprintf( 178 '<a href="%s" target="_top"><img src="%s" srcset="%s 2x" width="32" height="32" alt="" class="wp-embed-site-icon"/><span>%s</span></a>', 179 esc_url( home_url() ), 180 esc_url( get_site_icon_url( 32, includes_url( 'images/w-logo-blue.png' ) ) ), 181 esc_url( get_site_icon_url( 64, includes_url( 'images/w-logo-blue.png' ) ) ), 182 esc_html( get_bloginfo( 'name' ) ) 183 ); 184 185 /** This filter is documented in wp-includes/embed-template.php */ 186 echo apply_filters( 'embed_site_title_html', $site_title ); 106 /** 107 * Print additional meta content in the embed template. 108 * 109 * @since 4.4.0 110 */ 111 do_action( 'embed_content_meta'); 187 112 ?> 188 113 </div> 189 114 </div> 190 115 </div> 191 <?php 192 endif; 193 194 /** 195 * Print scripts or data before the closing body tag in the embed template. 196 * 197 * @since 4.4.0 198 */ 199 do_action( 'embed_footer' ); 200 ?> 201 </body> 202 </html> 116 <?php
Note: See TracChangeset
for help on using the changeset viewer.