Summery Summery

Determine whether a post or content string has blocks.

Syntax Syntax

has_blocks( int|string|WP_Post|null $post = null )

Description Description

This test optimizes for performance rather than strict accuracy, detecting the pattern of a block but not validating its structure. For strict accuracy, you should use the block parser on post content.

Parameters Parameters


(Optional) Post content, post ID, or post object. Defaults to global $post.

Default value: null

Return Return

(bool) Whether the post has blocks.

Source Source

File: wp-includes/blocks.php

function has_blocks( $post = null ) {
	if ( ! is_string( $post ) ) {
		$wp_post = get_post( $post );
		if ( $wp_post instanceof WP_Post ) {
			$post = $wp_post->post_content;

	return false !== strpos( (string) $post, '<!-- wp:' );


Changelog Changelog

Version Description
5.0.0 Introduced.

See also See also


Leave a Reply