WordPress at a glance
function is not described

has_block() WP 5.0.0

Determine whether a $post or a string contains a specific block type.

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

  • See: parse_blocks()

No Hooks.

Return

true/false. Whether the post content contains the specified block.

Usage

has_block( $block_type, $post );
$block_type(string) (required)
Full Block type to look for.
$post(int/string/WP_Post/null)
Post content, post ID, or post object.
Default: global $post

Code of has block: wp-includes/blocks.php WP 5.2.2

<?php
function has_block( $block_type, $post = null ) {
	if ( ! has_blocks( $post ) ) {
		return false;
	}

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

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