仅在未嵌套的古腾堡块上使用render_block

时间:2019-12-18 17:48:11

标签: wordpress wordpress-gutenberg

我想在Gutenberg块中添加一个包装div,这样我就可以进行全角图像和其他自定义ACF块之类的操作。我在WP文档中找到了这一点:

function block_wrap_filter( $block_content, $block ) {
    if ( empty( trim( $block_content ) ) ) {
        return $block_content;
    }
    $blockid = $block['id'];
    echo $blockid;
    return sprintf(
        '<section class="outer-%1$s"><div class="inner">%2$s</div></section>',
        sanitize_title( $block['blockName'] ),
        $block_content
    );
}
add_filter( 'render_block', 'block_wrap_filter', 10, 2 );

这很好用,除了将包装器应用于嵌套块的事实。无论如何,有没有过滤它,所以它不适用于其他块中的块?

我一直在查看是否有任何钩子,或者$ block var是否将其自身列为孩子或其他任何东西,但看不到我可以在其中使用的任何东西。

我想也许我可以获取块的ID,然后查看孩子是否具有相关ID,那么我可以使用某种php if语句来包装过滤器。但是我无法获得$ block来提供ID。

0 个答案:

没有答案