我很难弄清楚如何去做。
我为wordpress构建主题,主题基于bootstrap。如果不同的边栏处于活动状态,我需要有不同的fow类。
例如,我在页脚上有4个侧边栏。
footer1-sidebar
footer2-sidebar
footer3-sidebar
footer4-sidebar
所以,如果只有1个侧边栏活跃于这4个,那么无论我应该拥有哪个
<div class="row col-lg-12">
footer1-sidebar
</div>
但如果2个侧边栏处于活动状态,我需要以某种方式将其划分为
<div class="row col-lg-6">
footer2-sidebar
</div>
<div class="row col-lg-6">
footer4-sidebar
</div>
依旧......
因此无论哪一个被激活1和3,或2和4或1,2和4,或全部4都有效。我需要以某种方式计算它们并将行分成行数的侧边栏。
这是我目前在我主题上的footer-sidebar.php的代码。
<?php if ( is_active_sidebar( 'footer1-sidebar' ) || is_active_sidebar( 'footer2-sidebar' ) || is_active_sidebar( 'footer3-sidebar' ) || is_active_sidebar( 'footer4-sidebar' ) ) : ?>
<div class="footer-top">
<div class="container">
<div class="row">
<div class="col-lg-3 col-md-3 col-sm-3">
<?php if ( is_active_sidebar('footer1-sidebar') ) : ?>
<?php dynamic_sidebar('footer1-sidebar'); ?>
<?php endif; ?>
</div>
<div class="col-lg-3 col-md-3 col-sm-3">
<?php if ( is_active_sidebar('footer2-sidebar') ) : ?>
<?php dynamic_sidebar('footer2-sidebar'); ?>
<?php endif; ?>
</div>
<div class="col-lg-3 col-md-3 col-sm-3">
<?php if ( is_active_sidebar('footer3-sidebar') ) : ?>
<?php dynamic_sidebar('footer3-sidebar'); ?>
<?php endif; ?>
</div>
<div class="col-lg-3 col-md-3 col-sm-3">
<?php if ( is_active_sidebar('footer4-sidebar') ) : ?>
<?php dynamic_sidebar('footer4-sidebar'); ?>
<?php endif; ?>
</div>
</div>
</div><!-- /.container -->
</div>
现在问题是如果一个或两个侧边栏没有活动(没有小部件),它会在该列上留下空白空间。
答案 0 :(得分:0)
我最终得到了一个计数器,它在每个活动的侧边栏上添加+1,最后将12行划分为计算的侧边栏数
<?php if ( is_active_sidebar( 'footer1-sidebar' ) || is_active_sidebar( 'footer2- sidebar' ) || is_active_sidebar( 'footer3-sidebar' ) || is_active_sidebar( 'footer4-sidebar' ) ) : ?>
<?php $count = 0;
if ( is_active_sidebar('footer1-sidebar') ) : $count++; endif;
if ( is_active_sidebar('footer2-sidebar') ) : $count++; endif;
if ( is_active_sidebar('footer3-sidebar') ) : $count++; endif;
if ( is_active_sidebar('footer4-sidebar') ) : $count++; endif;
$row = 'col-lg-'. 12/$count .' col-md-'. 12/$count .' col-sm-'. 12/$count;
?>
<div class="footer-top">
<div class="container">
<div class="row">
<?php if ( is_active_sidebar('footer1-sidebar') ) : ?>
<div class="<?php echo $row ?>">
<?php dynamic_sidebar('footer1-sidebar'); ?>
</div>
<?php endif; ?>
<?php if ( is_active_sidebar('footer2-sidebar') ) : ?>
<div class="<?php echo $row ?>">
<?php dynamic_sidebar('footer2-sidebar'); ?>
</div>
<?php endif; ?>
<?php if ( is_active_sidebar('footer3-sidebar') ) : ?>
<div class="<?php echo $row ?>">
<?php dynamic_sidebar('footer3-sidebar'); ?>
</div>
<?php endif; ?>
<?php if ( is_active_sidebar('footer4-sidebar') ) : ?>
<div class="<?php echo $row ?>">
<?php dynamic_sidebar('footer4-sidebar'); ?>
</div>
<?php endif; ?>
</div>
</div><!-- /.container -->
</div>