O WordPress 5.0+ tem uma função para isso: parse_blocks()
. Para ver se o primeiro bloco na postagem é o bloco "Cabeçalho", você faria isso:
$post = get_post();
if ( has_blocks( $post->post_content ) ) {
$blocks = parse_blocks( $post->post_content );
if ( $blocks[0]->blockName === 'core/heading' ) {
}
}