Summery Summery

Handles outdated versions of the core/latest-posts block by converting attribute categories from a numeric string to an array with key id.

Syntax Syntax

block_core_latest_posts_migrate_categories( array $block )

Description Description

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.

Parameters Parameters


(Required) A single parsed block object.

Return Return

(array) The migrated block object.

Source Source

File: wp-includes/blocks/latest-posts.php

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;



Leave a Reply