Skip to content

Commit

Permalink
Added mega footer
Browse files Browse the repository at this point in the history
footer.php: include mega footer in footer
reg-sidebars.php: register mega footer, add classes to each widget,
remove extra widgets
mega-footer.php: the thing
  • Loading branch information
szk11001 committed Jun 26, 2014
1 parent 6bd30f7 commit 573bf27
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 11 deletions.
2 changes: 1 addition & 1 deletion footer.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
?>
</div><!-- .container-->
</div><!-- #content -->

<?php get_template_part('mega-footer'); ?>
<footer id="footer" class="site-footer" role="contentinfo">
<div class="container">
<ul id="uc-footer-links" class="clearfix">
Expand Down
48 changes: 38 additions & 10 deletions inc/reg-sidebars.php
Original file line number Diff line number Diff line change
Expand Up @@ -71,16 +71,16 @@
'before_title' => '<h1 class="widget-title">',
'after_title' => '</h1>',
));
register_sidebar( array(
'name' => __( 'Mega Footer' ),
'id' => 'mega-footer',
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</div></aside>',
'before_title' => '<div class="widget-head"><h2 class="widget-title">',
'after_title' => '</h2></div><div class="widget-content">'
) );

}
register_sidebar( array(
'name' => __( 'Header Widget Area', 'theme' ),
'id' => 'header-widget-area',
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h1 class="widget-title">',
'after_title' => '</h1>',
) );

// if no title then add widget content wrapper to before widget
add_filter( 'dynamic_sidebar_params', 'check_sidebar_params' );
Expand All @@ -91,11 +91,39 @@ function check_sidebar_params( $params ) {
$settings = $settings_getter->get_settings();
$settings = $settings[ $params[1]['number'] ];

if ( $params[0][ 'after_widget' ] == '</div></aside>' && isset( $settings[ 'title' ] ) && empty( $settings[ 'title' ] ) )
if ( $params[0][ 'after_widget' ] == '</div></aside>' && isset( $settings[ 'title' ] ) && empty( $settings[ 'title' ] ) ){
$params[0][ 'before_widget' ] .= '<div class="widget-content">';

}

#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'];
if( is_array($sidebars_widgets['mega-footer']) ){
foreach ($sidebars_widgets['mega-footer'] as $i => $widget) {
if( $i > 6 ){
unset($sidebars_widgets['mega-footer'][$i]);
}
}
}
return $sidebars_widgets;
}
add_filter( 'sidebars_widgets', 'mf_remove_extra' );

?>
3 changes: 3 additions & 0 deletions mega-footer.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<div id="mega-footer" class="widget-area">
<?php ( is_active_sidebar('mega-footer') ? dynamic_sidebar('mega-footer'): '' ); ?>
</div>

0 comments on commit 573bf27

Please sign in to comment.