block_core_image_get_lightbox_settings

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

WordPress Version: 6.5

/**
 * Adds the lightboxEnabled flag to the block data.
 *
 * This is used to determine whether the lightbox should be rendered or not.
 *
 * @param array $block Block data.
 *
 * @return array Filtered block data.
 */
function block_core_image_get_lightbox_settings($block)
{
    // Gets the lightbox setting from the block attributes.
    if (isset($block['attrs']['lightbox'])) {
        $lightbox_settings = $block['attrs']['lightbox'];
    }
    if (!isset($lightbox_settings)) {
        $lightbox_settings = wp_get_global_settings(array('lightbox'), array('block_name' => 'core/image'));
        // If not present in global settings, check the top-level global settings.
        //
        // NOTE: If no block-level settings are found, the previous call to
        // `wp_get_global_settings` will return the whole `theme.json` structure in
        // which case we can check if the "lightbox" key is present at the top-level
        // of the global settings and use its value.
        if (isset($lightbox_settings['lightbox'])) {
            $lightbox_settings = wp_get_global_settings(array('lightbox'));
        }
    }
    return $lightbox_settings ?? null;
}

WordPress Version: 6.4

/**
 * Adds the lightboxEnabled flag to the block data.
 *
 * This is used to determine whether the lightbox should be rendered or not.
 *
 * @param array $block Block data.
 *
 * @return array Filtered block data.
 */
function block_core_image_get_lightbox_settings($block)
{
    // Get the lightbox setting from the block attributes.
    if (isset($block['attrs']['lightbox'])) {
        $lightbox_settings = $block['attrs']['lightbox'];
        // If the lightbox setting is not set in the block attributes,
        // check the legacy lightbox settings that are set using the
        // `gutenberg_should_render_lightbox` filter.
        // We can remove this elseif statement when the legacy lightbox settings are removed.
    } elseif (isset($block['legacyLightboxSettings'])) {
        $lightbox_settings = $block['legacyLightboxSettings'];
    }
    if (!isset($lightbox_settings)) {
        $lightbox_settings = wp_get_global_settings(array('lightbox'), array('block_name' => 'core/image'));
        // If not present in global settings, check the top-level global settings.
        //
        // NOTE: If no block-level settings are found, the previous call to
        // `wp_get_global_settings` will return the whole `theme.json`
        // structure in which case we can check if the "lightbox" key is present at
        // the top-level of the global settings and use its value.
        if (isset($lightbox_settings['lightbox'])) {
            $lightbox_settings = wp_get_global_settings(array('lightbox'));
        }
    }
    return $lightbox_settings ?? null;
}