Hi,
\Faq_Block_For_Gutenberg::gutenberg_faq_block_parse_blocks
uses parse_blocks()
function, which returns an array of first-level blocks. The fact is that each block may contain nested block(s) where FAQ may reside.
So, to parse the entire post content, I think you need to make this function recursive.
Something like that:
private function gutenberg_faq_block_parse_blocks($blocks = null) {
global $post;
$block_data = array();
if( empty($blocks) && $post ){
$blocks = isset( $post->post_content ) ? parse_blocks( $post->post_content ) : array();
}
if( !empty($blocks) ){
foreach( $blocks as $block ){
if( 'faq-block-for-gutenberg/faq' === $block['blockName'] ){
$block_data[] = $block;
continue;
}
// Search in nested blocks
if( !empty($block['innerBlocks']) ) {
$block_data = array_merge( $block_data, $this->gutenberg_faq_block_parse_blocks($block['innerBlocks']) );
}
}
}
return $block_data;
}