_block_template_render_without_post_block_context( array $context ): array

In this article

This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.

Removes post details from block context when rendering a block template.


Default context.


array Filtered context.


function _block_template_render_without_post_block_context( $context ) {
	 * When loading a template directly and not through a page that resolves it,
	 * the top-level post ID and type context get set to that of the template.
	 * Templates are just the structure of a site, and they should not be available
	 * as post context because blocks like Post Content would recurse infinitely.
	if ( isset( $context['postType'] ) && 'wp_template' === $context['postType'] ) {
		unset( $context['postId'] );
		unset( $context['postType'] );

	return $context;



User Contributed Notes

You must log in before being able to contribute a note or feedback.