Hauptmenü

Werkzeuge

Kategorien

Archiv

Tineco nass und trockensauger Einhell Shelly H&T Gen3 Liste von RTSP URLs für gängige Kameras Freischneider Test 2026 Test Wärmepumpentrockner 2026 USB Adapter Vergleich Ladekabel Kaffeemaschinen Vergleich Ladekabel Staubsauger Vergleich Ladekabel Mammotion YUKA mini 2 1000 im Test: Mähroboter ganz ohne Begrenzungsdraht lubluelu CHYW201 im Test: Fensterputzroboter ganz ohne Netzkabel

Gutenberg Block über die BlockID/PostID finden

Erstellt in Allgemein am 3. April 2021 vom Daschmi

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);