February 17, 2014
No Comments
This is going to be a multi-post solution set, I’m sure. I started out with a jQuery solution. It worked ok, but wasn’t really what I wanted:
//bootstrap
$('.site-inner').addClass('container');
//$('.wrap').addClass('row');
$('.content-sidebar .content-sidebar-wrap').addClass('row');
$('.content-sidebar .content').addClass('col-md-8 col-sm-12');
$('.content-sidebar .sidebar').addClass('col-md-4');
Then I started digging into the Genesis context filters. This will probably work better and be more portable in the future. (Obviously this is jsut a part of it.)
/*** Bootstrappin **/
add_filter( 'genesis_attr_site-inner', 'msdlab_bootstrap_site_inner', 10);
add_filter( 'genesis_attr_breadcrumb', 'msdlab_bootstrap_breadcrumb', 10);
add_filter( 'genesis_attr_content-sidebar-wrap', 'msdlab_bootstrap_content_sidebar_wrap', 10);
add_filter( 'genesis_attr_content', 'msdlab_bootstrap_content', 10);
add_filter( 'genesis_attr_sidebar-primary', 'msdlab_bootstrap_sidebar', 10);
function msdlab_bootstrap_site_inner( $attributes ){
$attributes['class'] .= ' container';
return $attributes;
}
function msdlab_bootstrap_breadcrumb( $attributes ){
$attributes['class'] .= ' row';
return $attributes;
}
function msdlab_bootstrap_content_sidebar_wrap( $attributes ){
$attributes['class'] .= ' row';
return $attributes;
}
function msdlab_bootstrap_content( $attributes ){
$layout = genesis_site_layout();
switch($layout){
case 'content-sidebar':
case 'sidebar-content':
$attributes['class'] .= ' col-md-7 col-sm-12';
break;
case 'content-sidebar-sidebar':
case 'sidebar-sidebar-content':
case 'sidebar-content-sidebar':
break;
case 'full-width-content':
$attributes['class'] .= ' col-md-12';
break;
}
return $attributes;
}
function msdlab_bootstrap_sidebar( $attributes ){
$layout = genesis_site_layout();
switch($layout){
case 'content-sidebar':
case 'sidebar-content':
$attributes['class'] .= ' col-md-4 col-md-offset-1 hidden-sm hidden-xs';
break;
case 'content-sidebar-sidebar':
case 'sidebar-sidebar-content':
case 'sidebar-content-sidebar':
break;
case 'full-width-content':
$attributes['class'] .= ' hidden';
break;
}
return $attributes;
}