Mit folgender Funktion habe ich sensible Einstellungen aus einem Gutenberg Block ausgelesen, ohne diese über das Frontend übertragen zu müssen.
/** * Sucht einen Block anhand der blockId * * @param array $arBlocks * @param string $block_id * * @return false|array */ $search_block = function(array $arBlocks, string $block_id) use (&$search_block) { foreach ($arBlocks as $block) { if (($block['attrs']['blockId']??'') === $block_id) { return $block; } $sub = $search_block(($block['innerBlocks']??[]), $block_id); if ($sub !== false) return $sub; } return false; }; $post = get_post($post_id); $arBlocks = parse_blocks($post->post_content); $block = $search_block($arBlocks, $blockId);