所以,我在网站上使用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?谢谢!
答案 0 :(得分:0)
$('.fl-row .fl-node-content').each(function(){
if($(this).children().length == 0){
$(this).closest('.fl-row').hide();
}
});