如果伟大,伟大,伟大,伟大的孙子是空的,请隐藏父母

时间:2017-10-28 22:59:13

标签: php jquery wordpress

所以,我在网站上使用Beaver Builder,并在ACF上添加视频模块。但是,并非每个页面都有视频,但如果视频未添加到页面中,则仍会显示包含div.fl-row的视频。我添加了一个隐藏视频模块的功能,但其余的html仍在显示。

PHP隐藏空模块:

function check_field_connections($is_visible, $node) {

    if (isset($node->settings->connections)) {
        foreach ($node->settings->connections as $key => $connection) {
            if (!empty($connection) && empty($node->settings->$key)) {
                return false;
            }
        }
    }

    return $is_visible;

}

add_filter( 'fl_builder_is_node_visible', 'check_field_connections', 10, 2 );
没有ACF模块的

fl.row(请注意带有中断的.fl-node-content)

<div class="fl-row fl-row-full-width fl-row-bg-none fl-node-59f4de2e0191e" data-node="59f4de2e0191e">
    <div class="fl-row-content-wrap">
        <div class="fl-row-content fl-row-fixed-width fl-node-content">
            <div class="fl-col-group fl-node-59f4de2e0667c" data-node="59f4de2e0667c">
                <div class="fl-col fl-node-59f4de2e067c6" data-node="59f4de2e067c6">
                    <div class="fl-col-content fl-node-content"></div>
                </div>
            </div>
        </div>
    </div>
</div>

如何隐藏.fl-row?谢谢!

1 个答案:

答案 0 :(得分:0)

$('.fl-row .fl-node-content').each(function(){
    if($(this).children().length == 0){
        $(this).closest('.fl-row').hide();
    }
});