- $sizes = array('thumbnail', 'medium', 'large');
- $sizes = apply_filters('intermediate_image_sizes', $sizes);
+ global $_wp_additional_image_sizes;
+ $temp_sizes = array('thumbnail', 'medium', 'large'); // Standard sizes
+ if ( isset( $_wp_additional_image_sizes ) && count( $_wp_additional_image_sizes ) )
+ $temp_sizes = array_merge( $temp_sizes, array_keys( $_wp_additional_image_sizes ) );
+
+ $temp_sizes = apply_filters( 'intermediate_image_sizes', $temp_sizes );
+
+ foreach ( $temp_sizes as $s ) {
+ $sizes[$s] = array( 'width' => '', 'height' => '', 'crop' => FALSE );
+ if ( isset( $_wp_additional_image_sizes[$s]['width'] ) )
+ $sizes[$s]['width'] = intval( $_wp_additional_image_sizes[$s]['width'] ); // For theme-added sizes
+ else
+ $sizes[$s]['width'] = get_option( "{$s}_size_w" ); // For default sizes set in options
+ if ( isset( $_wp_additional_image_sizes[$s]['height'] ) )
+ $sizes[$s]['height'] = intval( $_wp_additional_image_sizes[$s]['height'] ); // For theme-added sizes
+ else
+ $sizes[$s]['height'] = get_option( "{$s}_size_h" ); // For default sizes set in options
+ if ( isset( $_wp_additional_image_sizes[$s]['crop'] ) )
+ $sizes[$s]['crop'] = intval( $_wp_additional_image_sizes[$s]['crop'] ); // For theme-added sizes
+ else
+ $sizes[$s]['crop'] = get_option( "{$s}_crop" ); // For default sizes set in options
+ }