WordPress开发者和主题制作者的搜索引擎



has_block ›

Since5.0.0
已弃用n/a
has_block ( $block_type, $post = null )
参数: (2)
  • (string) $block_type Full Block type to look for.
    Required: Yes
  • (int|string|WP_Post|null) $post Optional. Post content, post ID, or post object. Defaults to global $post.
    Required: No
    默认: null
查看:
返回:
  • (bool) Whether the post content contains the specified block.
定义在:
文档:

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.



源码

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 . ' ' );
}