get_default_block_editor_settings

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

WordPress Version: 6.2

/**
 * Returns the default block editor settings.
 *
 * @since 5.8.0
 *
 * @return array The default block editor settings.
 */
function get_default_block_editor_settings()
{
    // Media settings.
    // wp_max_upload_size() can be expensive, so only call it when relevant for the current user.
    $max_upload_size = 0;
    if (current_user_can('upload_files')) {
        $max_upload_size = wp_max_upload_size();
        if (!$max_upload_size) {
            $max_upload_size = 0;
        }
    }
    /** This filter is documented in wp-admin/includes/media.php */
    $image_size_names = apply_filters('image_size_names_choose', array('thumbnail' => __('Thumbnail'), 'medium' => __('Medium'), 'large' => __('Large'), 'full' => __('Full Size')));
    $available_image_sizes = array();
    foreach ($image_size_names as $image_size_slug => $image_size_name) {
        $available_image_sizes[] = array('slug' => $image_size_slug, 'name' => $image_size_name);
    }
    $default_size = get_option('image_default_size', 'large');
    $image_default_size = in_array($default_size, array_keys($image_size_names), true) ? $default_size : 'large';
    $image_dimensions = array();
    $all_sizes = wp_get_registered_image_subsizes();
    foreach ($available_image_sizes as $size) {
        $key = $size['slug'];
        if (isset($all_sizes[$key])) {
            $image_dimensions[$key] = $all_sizes[$key];
        }
    }
    // These styles are used if the "no theme styles" options is triggered or on
    // themes without their own editor styles.
    $default_editor_styles_file = ABSPATH . WPINC . '/css/dist/block-editor/default-editor-styles.css';
    static $default_editor_styles_file_contents = false;
    if (!$default_editor_styles_file_contents && file_exists($default_editor_styles_file)) {
        $default_editor_styles_file_contents = file_get_contents($default_editor_styles_file);
    }
    $default_editor_styles = array();
    if ($default_editor_styles_file_contents) {
        $default_editor_styles = array(array('css' => $default_editor_styles_file_contents));
    }
    $editor_settings = array(
        'alignWide' => get_theme_support('align-wide'),
        'allowedBlockTypes' => true,
        'allowedMimeTypes' => get_allowed_mime_types(),
        'defaultEditorStyles' => $default_editor_styles,
        'blockCategories' => get_default_block_categories(),
        'isRTL' => is_rtl(),
        'imageDefaultSize' => $image_default_size,
        'imageDimensions' => $image_dimensions,
        'imageEditing' => true,
        'imageSizes' => $available_image_sizes,
        'maxUploadFileSize' => $max_upload_size,
        // The following flag is required to enable the new Gallery block format on the mobile apps in 5.9.
        '__unstableGalleryWithImageBlocks' => true,
    );
    $theme_settings = get_classic_theme_supports_block_editor_settings();
    foreach ($theme_settings as $key => $value) {
        $editor_settings[$key] = $value;
    }
    return $editor_settings;
}

WordPress Version: 1.1

/**
 * Returns the default block editor settings.
 *
 * @since 5.8.0
 *
 * @return array The default block editor settings.
 */
function get_default_block_editor_settings()
{
    // Media settings.
    // wp_max_upload_size() can be expensive, so only call it when relevant for the current user.
    $max_upload_size = 0;
    if (current_user_can('upload_files')) {
        $max_upload_size = wp_max_upload_size();
        if (!$max_upload_size) {
            $max_upload_size = 0;
        }
    }
    /** This filter is documented in wp-admin/includes/media.php */
    $image_size_names = apply_filters('image_size_names_choose', array('thumbnail' => __('Thumbnail'), 'medium' => __('Medium'), 'large' => __('Large'), 'full' => __('Full Size')));
    $available_image_sizes = array();
    foreach ($image_size_names as $image_size_slug => $image_size_name) {
        $available_image_sizes[] = array('slug' => $image_size_slug, 'name' => $image_size_name);
    }
    $default_size = get_option('image_default_size', 'large');
    $image_default_size = in_array($default_size, array_keys($image_size_names), true) ? $default_size : 'large';
    $image_dimensions = array();
    $all_sizes = wp_get_registered_image_subsizes();
    foreach ($available_image_sizes as $size) {
        $key = $size['slug'];
        if (isset($all_sizes[$key])) {
            $image_dimensions[$key] = $all_sizes[$key];
        }
    }
    // These styles are used if the "no theme styles" options is triggered or on
    // themes without their own editor styles.
    $default_editor_styles_file = ABSPATH . WPINC . '/css/dist/block-editor/default-editor-styles.css';
    static $default_editor_styles_file_contents = false;
    if (!$default_editor_styles_file_contents && file_exists($default_editor_styles_file)) {
        $default_editor_styles_file_contents = file_get_contents($default_editor_styles_file);
    }
    $default_editor_styles = array();
    if ($default_editor_styles_file_contents) {
        $default_editor_styles = array(array('css' => $default_editor_styles_file_contents));
    }
    $editor_settings = array(
        'alignWide' => get_theme_support('align-wide'),
        'allowedBlockTypes' => true,
        'allowedMimeTypes' => get_allowed_mime_types(),
        'defaultEditorStyles' => $default_editor_styles,
        'blockCategories' => get_default_block_categories(),
        'disableCustomColors' => get_theme_support('disable-custom-colors'),
        'disableCustomFontSizes' => get_theme_support('disable-custom-font-sizes'),
        'disableCustomGradients' => get_theme_support('disable-custom-gradients'),
        'disableLayoutStyles' => get_theme_support('disable-layout-styles'),
        'enableCustomLineHeight' => get_theme_support('custom-line-height'),
        'enableCustomSpacing' => get_theme_support('custom-spacing'),
        'enableCustomUnits' => get_theme_support('custom-units'),
        'isRTL' => is_rtl(),
        'imageDefaultSize' => $image_default_size,
        'imageDimensions' => $image_dimensions,
        'imageEditing' => true,
        'imageSizes' => $available_image_sizes,
        'maxUploadFileSize' => $max_upload_size,
        // The following flag is required to enable the new Gallery block format on the mobile apps in 5.9.
        '__unstableGalleryWithImageBlocks' => true,
    );
    // Theme settings.
    $color_palette = current((array) get_theme_support('editor-color-palette'));
    if (false !== $color_palette) {
        $editor_settings['colors'] = $color_palette;
    }
    $font_sizes = current((array) get_theme_support('editor-font-sizes'));
    if (false !== $font_sizes) {
        $editor_settings['fontSizes'] = $font_sizes;
    }
    $gradient_presets = current((array) get_theme_support('editor-gradient-presets'));
    if (false !== $gradient_presets) {
        $editor_settings['gradients'] = $gradient_presets;
    }
    return $editor_settings;
}

WordPress Version: 6.1

/**
 * Returns the default block editor settings.
 *
 * @since 5.8.0
 *
 * @return array The default block editor settings.
 */
function get_default_block_editor_settings()
{
    // Media settings.
    $max_upload_size = wp_max_upload_size();
    if (!$max_upload_size) {
        $max_upload_size = 0;
    }
    /** This filter is documented in wp-admin/includes/media.php */
    $image_size_names = apply_filters('image_size_names_choose', array('thumbnail' => __('Thumbnail'), 'medium' => __('Medium'), 'large' => __('Large'), 'full' => __('Full Size')));
    $available_image_sizes = array();
    foreach ($image_size_names as $image_size_slug => $image_size_name) {
        $available_image_sizes[] = array('slug' => $image_size_slug, 'name' => $image_size_name);
    }
    $default_size = get_option('image_default_size', 'large');
    $image_default_size = in_array($default_size, array_keys($image_size_names), true) ? $default_size : 'large';
    $image_dimensions = array();
    $all_sizes = wp_get_registered_image_subsizes();
    foreach ($available_image_sizes as $size) {
        $key = $size['slug'];
        if (isset($all_sizes[$key])) {
            $image_dimensions[$key] = $all_sizes[$key];
        }
    }
    // These styles are used if the "no theme styles" options is triggered or on
    // themes without their own editor styles.
    $default_editor_styles_file = ABSPATH . WPINC . '/css/dist/block-editor/default-editor-styles.css';
    static $default_editor_styles_file_contents = false;
    if (!$default_editor_styles_file_contents && file_exists($default_editor_styles_file)) {
        $default_editor_styles_file_contents = file_get_contents($default_editor_styles_file);
    }
    $default_editor_styles = array();
    if ($default_editor_styles_file_contents) {
        $default_editor_styles = array(array('css' => $default_editor_styles_file_contents));
    }
    $editor_settings = array(
        'alignWide' => get_theme_support('align-wide'),
        'allowedBlockTypes' => true,
        'allowedMimeTypes' => get_allowed_mime_types(),
        'defaultEditorStyles' => $default_editor_styles,
        'blockCategories' => get_default_block_categories(),
        'disableCustomColors' => get_theme_support('disable-custom-colors'),
        'disableCustomFontSizes' => get_theme_support('disable-custom-font-sizes'),
        'disableCustomGradients' => get_theme_support('disable-custom-gradients'),
        'disableLayoutStyles' => get_theme_support('disable-layout-styles'),
        'enableCustomLineHeight' => get_theme_support('custom-line-height'),
        'enableCustomSpacing' => get_theme_support('custom-spacing'),
        'enableCustomUnits' => get_theme_support('custom-units'),
        'isRTL' => is_rtl(),
        'imageDefaultSize' => $image_default_size,
        'imageDimensions' => $image_dimensions,
        'imageEditing' => true,
        'imageSizes' => $available_image_sizes,
        'maxUploadFileSize' => $max_upload_size,
        // The following flag is required to enable the new Gallery block format on the mobile apps in 5.9.
        '__unstableGalleryWithImageBlocks' => true,
    );
    // Theme settings.
    $color_palette = current((array) get_theme_support('editor-color-palette'));
    if (false !== $color_palette) {
        $editor_settings['colors'] = $color_palette;
    }
    $font_sizes = current((array) get_theme_support('editor-font-sizes'));
    if (false !== $font_sizes) {
        $editor_settings['fontSizes'] = $font_sizes;
    }
    $gradient_presets = current((array) get_theme_support('editor-gradient-presets'));
    if (false !== $gradient_presets) {
        $editor_settings['gradients'] = $gradient_presets;
    }
    return $editor_settings;
}

WordPress Version: 5.9

/**
 * Returns the default block editor settings.
 *
 * @since 5.8.0
 *
 * @return array The default block editor settings.
 */
function get_default_block_editor_settings()
{
    // Media settings.
    $max_upload_size = wp_max_upload_size();
    if (!$max_upload_size) {
        $max_upload_size = 0;
    }
    /** This filter is documented in wp-admin/includes/media.php */
    $image_size_names = apply_filters('image_size_names_choose', array('thumbnail' => __('Thumbnail'), 'medium' => __('Medium'), 'large' => __('Large'), 'full' => __('Full Size')));
    $available_image_sizes = array();
    foreach ($image_size_names as $image_size_slug => $image_size_name) {
        $available_image_sizes[] = array('slug' => $image_size_slug, 'name' => $image_size_name);
    }
    $default_size = get_option('image_default_size', 'large');
    $image_default_size = in_array($default_size, array_keys($image_size_names), true) ? $default_size : 'large';
    $image_dimensions = array();
    $all_sizes = wp_get_registered_image_subsizes();
    foreach ($available_image_sizes as $size) {
        $key = $size['slug'];
        if (isset($all_sizes[$key])) {
            $image_dimensions[$key] = $all_sizes[$key];
        }
    }
    // These styles are used if the "no theme styles" options is triggered or on
    // themes without their own editor styles.
    $default_editor_styles_file = ABSPATH . WPINC . '/css/dist/block-editor/default-editor-styles.css';
    if (file_exists($default_editor_styles_file)) {
        $default_editor_styles = array(array('css' => file_get_contents($default_editor_styles_file)));
    } else {
        $default_editor_styles = array();
    }
    $editor_settings = array(
        'alignWide' => get_theme_support('align-wide'),
        'allowedBlockTypes' => true,
        'allowedMimeTypes' => get_allowed_mime_types(),
        'defaultEditorStyles' => $default_editor_styles,
        'blockCategories' => get_default_block_categories(),
        'disableCustomColors' => get_theme_support('disable-custom-colors'),
        'disableCustomFontSizes' => get_theme_support('disable-custom-font-sizes'),
        'disableCustomGradients' => get_theme_support('disable-custom-gradients'),
        'enableCustomLineHeight' => get_theme_support('custom-line-height'),
        'enableCustomSpacing' => get_theme_support('custom-spacing'),
        'enableCustomUnits' => get_theme_support('custom-units'),
        'isRTL' => is_rtl(),
        'imageDefaultSize' => $image_default_size,
        'imageDimensions' => $image_dimensions,
        'imageEditing' => true,
        'imageSizes' => $available_image_sizes,
        'maxUploadFileSize' => $max_upload_size,
        // The following flag is required to enable the new Gallery block format on the mobile apps in 5.9.
        '__unstableGalleryWithImageBlocks' => true,
    );
    // Theme settings.
    $color_palette = current((array) get_theme_support('editor-color-palette'));
    if (false !== $color_palette) {
        $editor_settings['colors'] = $color_palette;
    }
    $font_sizes = current((array) get_theme_support('editor-font-sizes'));
    if (false !== $font_sizes) {
        $editor_settings['fontSizes'] = $font_sizes;
    }
    $gradient_presets = current((array) get_theme_support('editor-gradient-presets'));
    if (false !== $gradient_presets) {
        $editor_settings['gradients'] = $gradient_presets;
    }
    return $editor_settings;
}

WordPress Version: 5.8

/**
 * Returns the default block editor settings.
 *
 * @since 5.8.0
 *
 * @return array The default block editor settings.
 */
function get_default_block_editor_settings()
{
    // Media settings.
    $max_upload_size = wp_max_upload_size();
    if (!$max_upload_size) {
        $max_upload_size = 0;
    }
    /** This filter is documented in wp-admin/includes/media.php */
    $image_size_names = apply_filters('image_size_names_choose', array('thumbnail' => __('Thumbnail'), 'medium' => __('Medium'), 'large' => __('Large'), 'full' => __('Full Size')));
    $available_image_sizes = array();
    foreach ($image_size_names as $image_size_slug => $image_size_name) {
        $available_image_sizes[] = array('slug' => $image_size_slug, 'name' => $image_size_name);
    }
    $default_size = get_option('image_default_size', 'large');
    $image_default_size = in_array($default_size, array_keys($image_size_names), true) ? $default_size : 'large';
    $image_dimensions = array();
    $all_sizes = wp_get_registered_image_subsizes();
    foreach ($available_image_sizes as $size) {
        $key = $size['slug'];
        if (isset($all_sizes[$key])) {
            $image_dimensions[$key] = $all_sizes[$key];
        }
    }
    $editor_settings = array('alignWide' => get_theme_support('align-wide'), 'allowedBlockTypes' => true, 'allowedMimeTypes' => get_allowed_mime_types(), 'blockCategories' => get_default_block_categories(), 'disableCustomColors' => get_theme_support('disable-custom-colors'), 'disableCustomFontSizes' => get_theme_support('disable-custom-font-sizes'), 'disableCustomGradients' => get_theme_support('disable-custom-gradients'), 'enableCustomLineHeight' => get_theme_support('custom-line-height'), 'enableCustomSpacing' => get_theme_support('custom-spacing'), 'enableCustomUnits' => get_theme_support('custom-units'), 'isRTL' => is_rtl(), 'imageDefaultSize' => $image_default_size, 'imageDimensions' => $image_dimensions, 'imageEditing' => true, 'imageSizes' => $available_image_sizes, 'maxUploadFileSize' => $max_upload_size);
    // Theme settings.
    $color_palette = current((array) get_theme_support('editor-color-palette'));
    if (false !== $color_palette) {
        $editor_settings['colors'] = $color_palette;
    }
    $font_sizes = current((array) get_theme_support('editor-font-sizes'));
    if (false !== $font_sizes) {
        $editor_settings['fontSizes'] = $font_sizes;
    }
    $gradient_presets = current((array) get_theme_support('editor-gradient-presets'));
    if (false !== $gradient_presets) {
        $editor_settings['gradients'] = $gradient_presets;
    }
    return $editor_settings;
}