如果选择了一个字段,则排除一个块?

Exclude a block if a field is selected?

如果选择了一个字段,是否可以排除一个块?我正在使用 get_field('article_style' ) == 'major',如果选择不让块 acf/opby-cover-image 出现在我的主题中。我正在使用来自 Skip Certain Gutenberg Block in Loopadd_filter

如果选择了该字段,我下面的代码就可以工作,但如果没有选择,则它不会显示其余内容。关于如何在选择字段时不显示此块但在未选择字段时显示内容的任何想法?

function remove_blocks() {
  if ( is_single() && (get_field('article_style' ) == 'major') ) {
    $blocks = parse_blocks( get_the_content() );
    foreach ( $blocks as $block ) {
        if ( 'acf/opby-cover-image' === $block['blockName'] ) {
            continue;
        } else {
            echo render_block( $block );
        }
    }
  }
}
add_filter( 'the_content', 'remove_blocks');

是否可以在循环中而不是之前进行条件检查?

if ( is_single() ) {
    $blocks = parse_blocks( get_the_content() );
    foreach ( $blocks as $block ) {
        if ( 'acf/opby-cover-image' === $block['blockName'] && (get_field('article_style' ) == 'major') {
            continue;
        } else {
            echo render_block( $block );
        }
    }
}