微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果选中了ACF子字段,则隐藏行

如何解决如果选中了ACF子字段,则隐藏行

我有一个ACF Reaper字段,其中有几行要显示。但是,我只想要显示行,如果它已选中一个复选框(复选框是转发器中的子字段)。我正在尝试通过使用ACF documentation中“条件逻辑”下的if in_array来实现这一目标:

if( in_array( "bestyrelsevalg",get_sub_field( 'bestyrelse' ) ) )

我正在以wordpress代码输出结果。目前,我的代码还可以工作,除了它显示了转发器字段中的所有结果(还包括未选中的结果)。我想念什么??

我的代码

function investor_bestyrelse_shortcode() {
$rows = get_field('budgetter_og_nyhedsbreve');

if( $rows  ) {
    echo '<ul class="slides">';
    foreach( $rows as $row ) {
if( in_array( "bestyrelsevalg",get_sub_field( 'bestyrelse' ) ) ) {
        $image = $row['upload_dokument'];
        echo '<li>';
            echo get_field( 'upload_dokument' );
        echo '</li>';
        }
    }
    echo '</ul>';
}   

}

add_shortcode( 'investor_bestyrelse','investor_bestyrelse_shortcode' );

解决方法

在@maggiathor的答案的帮助下设法解决了问题。由于某种原因,回声引起了问题。我不得不使用return insted:

function investor_bestyrelse_shortcode() {
            $rows = get_field('budgetter_og_nyhedsbreve');
    if( $rows  ) {
        $content = '<ul class="dokumenter">';
            foreach( $rows as $row ) {
            if( !in_array( "bestyrelsevalg",$row['bestyrelse'] ) ) {
                $pdf = $row['upload_dokument'];
                
                $content = $content . '<li>' . $pdf . '</li>';
            }
            }
        }
        $content = $content . '</ul>';
        return $content;
    }   
add_shortcode( 'investor_bestyrelse','investor_bestyrelse_shortcode' );
,

您不能在foreach循环中使用get_sub_field(),或者需要使用have_rows-while-loop或从关联数组中访问它:

function investor_bestyrelse_shortcode() {
    $rows = get_field('budgetter_og_nyhedsbreve');
    if( $rows  ) {
        echo '<ul class="slides">';
            foreach( $rows as $row ) {
                if( in_array( "bestyrelsevalg",$row['bestyrelse'] ) ) {
                $image = $row['upload_dokument'];
                echo '<li>';
                echo $row['upload_dokument'];
                echo '</li>';
            }
        }
        echo '</ul>';
    }   
}
add_shortcode( 'investor_bestyrelse','investor_bestyrelse_shortcode' );

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。