post_mime_type, 'image' ) ) { add_meta_box( 'image_sizes', 'Image Sizes', [$this, 'image_sizes_table'], 'attachment', 'side' ); } } /** * Output table of image sizes * * @link https://plugins.trac.wordpress.org/browser/image-sizes-panel/tags/0.4/admin/admin.php * @since 6.3.0 */ public function image_sizes_table( $post ) { global $_wp_additional_image_sizes; $image_sizes = get_intermediate_image_sizes(); $metadata = wp_get_attachment_metadata( $post->ID ); $generated_sizes = array(); // Merge defined image sizes with generated image sizes if ( isset( $metadata['sizes'] ) && count( $metadata['sizes'] ) > 0 ) { $generated_sizes = array_keys( $metadata['sizes'] ); $image_sizes = array_unique( array_merge( $image_sizes, $generated_sizes ) ); } $image_sizes[] = 'full'; $full = wp_get_attachment_image_src( $post->ID, 'full' ); sort( $image_sizes ); if ( count( $image_sizes ) > 0 ) { echo ''; foreach ( $image_sizes as $size ) { $src = wp_get_attachment_image_src( $post->ID, $size ); if ( isset( $metadata['sizes'][$size] ) ) { $width = $metadata['sizes'][$size]['width']; $height = $metadata['sizes'][$size]['height']; } else { if ( 'full' == $size ) { $width = $full[1]; $height = $full[2]; } else { $width = $src[1]; $height = $src[2]; } } if ( in_array( $size, $generated_sizes ) || 'full' == $size ) { echo ''; echo ''; echo ''; echo ''; } } echo '
' . esc_html( $size ) . '' . esc_html( $width ) . ' × ' . esc_html( $height ) . '
'; } else { echo '

No image sizes

'; } } }