block_core_latest_posts_migrate_categories

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

WordPress Version: 5.5

/**
 * Handles outdated versions of the `core/latest-posts` block by converting
 * attribute `categories` from a numeric string to an array with key `id`.
 *
 * This is done to accommodate the changes introduced in #20781 that sought to
 * add support for multiple categories to the block. However, given that this
 * block is dynamic, the usual provisions for block migration are insufficient,
 * as they only act when a block is loaded in the editor.
 *
 * TODO: Remove when and if the bottom client-side deprecation for this block
 * is removed.
 *
 * @param array $block A single parsed block object.
 *
 * @return array The migrated block object.
 */
function block_core_latest_posts_migrate_categories($block)
{
    if ('core/latest-posts' === $block['blockName'] && !empty($block['attrs']['categories']) && is_string($block['attrs']['categories'])) {
        $block['attrs']['categories'] = array(array('id' => absint($block['attrs']['categories'])));
    }
    return $block;
}