From b9e15c03e26c64775c203a49af3ce94f3100925c Mon Sep 17 00:00:00 2001 From: Salman Date: Mon, 7 Jul 2014 10:45:15 -0400 Subject: [PATCH] Mega footer automatic spans --- inc/reg-sidebars.php | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/inc/reg-sidebars.php b/inc/reg-sidebars.php index d5032d4..42067e9 100644 --- a/inc/reg-sidebars.php +++ b/inc/reg-sidebars.php @@ -41,6 +41,36 @@ } } +// if no title then add widget content wrapper to before widget +add_filter( 'dynamic_sidebar_params', 'check_sidebar_params' ); +function check_sidebar_params( $params ) { + global $wp_registered_widgets; + + $settings_getter = $wp_registered_widgets[ $params[0]['widget_id'] ]['callback'][0]; + $settings = $settings_getter->get_settings(); + $settings = $settings[ $params[1]['number'] ]; + + if ( $params[0][ 'after_widget' ] == '' && isset( $settings[ 'title' ] ) && empty( $settings[ 'title' ] ) ){ + $params[0][ 'before_widget' ] .= '
'; + } + + #Counts widgets in mega footer and adds column class accordingly + if( $params[0]['id'] == 'mega-footer' ){ + if( is_multisite() ){ + $widgets = get_site_option('sidebars_widgets')['mega-footer']; + } else { + $widgets = get_option('sidebars_widgets')['mega-footer']; + } + $count = count($widgets); + if( $count > 6 ){ + $cols = 2; + } else { + $cols = floor(12 / $count); + } + $params[0]['before_widget'] = str_replace('class="', 'class="col-sm-' . $cols . ' ', $params[0]['before_widget']); + } + return $params; +} function mf_remove_extra( $sidebars_widgets ){ $widgets = $sidebars_widgets['mega-footer'];