Include a static block inside of a dynamic block

Server rendered blocks like that can’t have child blocks.

The closest you can do is call do_blocks and pass it block markup, but this means pre-creating the block in the editor, and copy pasting it out. It would not be modifiable in the editor, or appear as a block. It would just be additional HTML in your server rendered block.

If you want to get around that, you’ll need to break your dynamic block up into multiple blocks. This is how site editing blocks work around this. For example they have query blocks that provide context that can be read by child blocks, then they get filtered on the frontend to replace individual blocks content. E.g. a post title block renders the post title in PHP using information it got from a parent. As a result you can insert any block you want into a query block, even though it’s running PHP to grab data.

tech