我有一个自定义的页脚小部件区域,它在一行中水平显示最多4个小部件。如果我添加了4个以上的小部件,那么布局就会中断,因为我试图在同一行中显示它。
我想让它更灵活,例如有2行(div),我可以在第一行中添加let’s 2 widget,在第二行中添加4个widget。
可能我需要的是复制这一个,并制作两个页脚区域。这可能吗?如果可能,我如何实现?
下面是我的小部件的实际代码。php:
/* Footer Widgets */
$footer_widgets_num = wp_get_sidebars_widgets();
$footer_widgets_num = (isset($footer_widgets_num[\'footer-widgets\'])) ? count( $footer_widgets_num[\'footer-widgets\']) : 0;
switch ($footer_widgets_num) {
case 1:
$footer_widgets_num = \'12\';
break;
case 2:
$footer_widgets_num = \'6\';
break;
case 3:
$footer_widgets_num = \'4\';
break;
case 4:
$footer_widgets_num = \'3\';
break;
case 5:
$footer_widgets_num = \'2 offset1\';
break;
case 6:
$footer_widgets_num = \'2\';
break;
case 7:
$footer_widgets_num = \'1\';
break;
case 8:
$footer_widgets_num = \'1 offset2\';
break;
case 11:
$footer_widgets_num = \'1\';
break;
case 12:
$footer_widgets_num = \'1\';
break;
default:
$footer_widgets_num = \'1\';
break;
}
register_sidebar(array(
\'name\' => __(\'Footer Widgets\',\'outbox\' ),
\'id\' => \'footer-widgets\',
\'description\' => __( \'There are 4 slots available in the footer\',\'outbox\' ),
\'before_widget\' => \'<div id="%1$s" class="span\'.$footer_widgets_num.\' %2$s">\',
\'after_widget\' => \'</div>\',
\'before_title\' => \'<h3 class="widget-head">\',
\'after_title\' => \'</h3>\'
));
}
最合适的回答,由SO网友:Jay Neely 整理而成
CSS是一种更好的方式。对前两个小部件使用不同于后面两个小部件的类,因此可以将它们分别放置在所需的位置。
浮点数、宽度,以及可能的最小/最大宽度,都应该是实现此功能所需的全部内容。如果每个小部件都向左浮动,并且前两个小部件设置为宽度50%,那么其他小部件将移到下面,只要容器div具有设置的宽度。