wp_get_registered_image_subsizes

The timeline below displays how wordpress function wp_get_registered_image_subsizes has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 5.9

/**
 * Returns a normalized list of all currently registered image sub-sizes.
 *
 * @since 5.3.0
 * @uses wp_get_additional_image_sizes()
 * @uses get_intermediate_image_sizes()
 *
 * @return array[] Associative array of arrays of image sub-size information,
 *                 keyed by image size name.
 */
function wp_get_registered_image_subsizes()
{
    $additional_sizes = wp_get_additional_image_sizes();
    $all_sizes = array();
    foreach (get_intermediate_image_sizes() as $size_name) {
        $size_data = array('width' => 0, 'height' => 0, 'crop' => false);
        if (isset($additional_sizes[$size_name]['width'])) {
            // For sizes added by plugins and themes.
            $size_data['width'] = (int) $additional_sizes[$size_name]['width'];
        } else {
            // For default sizes set in options.
            $size_data['width'] = (int) get_option("{$size_name}_size_w");
        }
        if (isset($additional_sizes[$size_name]['height'])) {
            $size_data['height'] = (int) $additional_sizes[$size_name]['height'];
        } else {
            $size_data['height'] = (int) get_option("{$size_name}_size_h");
        }
        if (empty($size_data['width']) && empty($size_data['height'])) {
            // This size isn't set.
            continue;
        }
        if (isset($additional_sizes[$size_name]['crop'])) {
            $size_data['crop'] = $additional_sizes[$size_name]['crop'];
        } else {
            $size_data['crop'] = get_option("{$size_name}_crop");
        }
        if (!is_array($size_data['crop']) || empty($size_data['crop'])) {
            $size_data['crop'] = (bool) $size_data['crop'];
        }
        $all_sizes[$size_name] = $size_data;
    }
    return $all_sizes;
}

WordPress Version: 5.6

/**
 * Returns a normalized list of all currently registered image sub-sizes.
 *
 * @since 5.3.0
 * @uses wp_get_additional_image_sizes()
 * @uses get_intermediate_image_sizes()
 *
 * @return array Associative array of the registered image sub-sizes.
 */
function wp_get_registered_image_subsizes()
{
    $additional_sizes = wp_get_additional_image_sizes();
    $all_sizes = array();
    foreach (get_intermediate_image_sizes() as $size_name) {
        $size_data = array('width' => 0, 'height' => 0, 'crop' => false);
        if (isset($additional_sizes[$size_name]['width'])) {
            // For sizes added by plugins and themes.
            $size_data['width'] = (int) $additional_sizes[$size_name]['width'];
        } else {
            // For default sizes set in options.
            $size_data['width'] = (int) get_option("{$size_name}_size_w");
        }
        if (isset($additional_sizes[$size_name]['height'])) {
            $size_data['height'] = (int) $additional_sizes[$size_name]['height'];
        } else {
            $size_data['height'] = (int) get_option("{$size_name}_size_h");
        }
        if (empty($size_data['width']) && empty($size_data['height'])) {
            // This size isn't set.
            continue;
        }
        if (isset($additional_sizes[$size_name]['crop'])) {
            $size_data['crop'] = $additional_sizes[$size_name]['crop'];
        } else {
            $size_data['crop'] = get_option("{$size_name}_crop");
        }
        if (!is_array($size_data['crop']) || empty($size_data['crop'])) {
            $size_data['crop'] = (bool) $size_data['crop'];
        }
        $all_sizes[$size_name] = $size_data;
    }
    return $all_sizes;
}

WordPress Version: 5.3

/**
 * Returns a normalized list of all currently registered image sub-sizes.
 *
 * @since 5.3.0
 * @uses wp_get_additional_image_sizes()
 * @uses get_intermediate_image_sizes()
 *
 * @return array Associative array of the registered image sub-sizes.
 */
function wp_get_registered_image_subsizes()
{
    $additional_sizes = wp_get_additional_image_sizes();
    $all_sizes = array();
    foreach (get_intermediate_image_sizes() as $size_name) {
        $size_data = array('width' => 0, 'height' => 0, 'crop' => false);
        if (isset($additional_sizes[$size_name]['width'])) {
            // For sizes added by plugins and themes.
            $size_data['width'] = intval($additional_sizes[$size_name]['width']);
        } else {
            // For default sizes set in options.
            $size_data['width'] = intval(get_option("{$size_name}_size_w"));
        }
        if (isset($additional_sizes[$size_name]['height'])) {
            $size_data['height'] = intval($additional_sizes[$size_name]['height']);
        } else {
            $size_data['height'] = intval(get_option("{$size_name}_size_h"));
        }
        if (empty($size_data['width']) && empty($size_data['height'])) {
            // This size isn't set.
            continue;
        }
        if (isset($additional_sizes[$size_name]['crop'])) {
            $size_data['crop'] = $additional_sizes[$size_name]['crop'];
        } else {
            $size_data['crop'] = get_option("{$size_name}_crop");
        }
        if (!is_array($size_data['crop']) || empty($size_data['crop'])) {
            $size_data['crop'] = (bool) $size_data['crop'];
        }
        $all_sizes[$size_name] = $size_data;
    }
    return $all_sizes;
}