WordPress.org

Make WordPress Core

Ticket #12146: 12146.2.patch

File 12146.2.patch, 1.8 KB (added by Viper007Bond, 8 years ago)

Use a bit of a hack to make the thumbnail fit in the meta box

  • wp-admin/includes/post.php

     
    11031103 * @return string html
    11041104 */
    11051105function _wp_post_thumbnail_html( $thumbnail_id = NULL ) {
    1106         global $content_width, $_wp_additional_image_sizes;
     1106        global $_wp_additional_image_sizes;
     1107
    11071108        $content = '<p class="hide-if-no-js"><a href="#" id="set-post-thumbnail" onclick="jQuery(\'#add_image\').click();return false;">' . esc_html__( 'Set thumbnail' ) . '</a></p>';
    11081109
    11091110        if ( $thumbnail_id && get_post( $thumbnail_id ) ) {
    1110                 $old_content_width = $content_width;
    1111                 $content_width = 266;
    11121111                if ( !isset( $_wp_additional_image_sizes['post-thumbnail'] ) )
    11131112                        $thumbnail_html = wp_get_attachment_image( $thumbnail_id, array( $content_width, $content_width ) );
    11141113                else
    11151114                        $thumbnail_html = wp_get_attachment_image( $thumbnail_id, 'post-thumbnail' );
    11161115                if ( !empty( $thumbnail_html ) ) {
     1116                        // Downsize the thumbnail HTML to fit in the meta box
     1117                        if ( preg_match( '#width="([0-9]+)"#i', $thumbnail_html, $width ) && $width[1] > 266 && preg_match( '#height="([0-9]+)"#i', $thumbnail_html, $height ) ) {
     1118                                $newdims = wp_constrain_dimensions( $width[1], $height[1], 266 );
     1119                                $thumbnail_html = str_replace( array( $width[0], $height[0] ), array( "width=\"{$newdims[0]}\"", "height=\"{$newdims[1]}\"" ), $thumbnail_html );
     1120                        }
     1121
    11171122                        $content = '<a href="#" id="set-post-thumbnail" onclick="jQuery(\'#add_image\').click();return false;">' . $thumbnail_html . '</a>';
    11181123                        $content .= '<p class="hide-if-no-js"><a href="#" id="remove-post-thumbnail" onclick="WPRemoveThumbnail();return false;">' . esc_html__( 'Remove thumbnail' ) . '</a></p>';
    11191124                }
    1120                 $content_width = $old_content_width;
    11211125        }
    11221126
    11231127        return apply_filters( 'admin_post_thumbnail_html', $content );