W3cubDocs

/WordPress

has_block( string $block_type, int|string|WP_Post|null $post = null )

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

Description

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 also

Parameters

$block_type

(string) (Required) Full Block type to look for.

$post

(int|string|WP_Post|null) (Optional) Post content, post ID, or post object. Defaults to global $post.

Default value: null

Return

(bool) Whether the post content contains the specified block.

Source

File: wp-includes/blocks.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 . ' ' );
}

Changelog

Version Description
5.0.0 Introduced.

© 2003–2019 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/has_block