Last active
January 15, 2016 07:43
-
-
Save bryanwillis/7f04d4bdfa711e4e3209 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
$genesis_atts = array( | |
'nav-primary', | |
'nav-secondary', | |
'site-header', | |
'site-inner', | |
'content-sidebar-wrap', | |
'content', | |
'sidebar-primary', | |
'sidebar-secondary', | |
'archive-pagination', | |
'entry-content', | |
'entry-pagination', | |
'site-footer', | |
'nav-footer', | |
'entry', | |
'jumbotron-header', | |
'widget' | |
); | |
foreach ( $genesis_att_filter as $context => $classes ) { | |
$context = "genesis_attr_$context"; | |
add_filter( $context, 'bsg_add_markup_class', 10, 2); | |
} | |
function bsg_add_markup_class( $attr, $context ) { | |
$classes = array(); | |
if( has_filter('bsg-classes-to-add') ) { | |
$classes = apply_filters ('bsg-classes-to-add', $classes, $context, $attr); | |
} | |
$value = isset( $classes[ $context ] ) ? $classes[ $context ] : array(); | |
if ( is_array( $value ) ) { | |
$classes_array = $value; | |
} else { | |
$classes_array = explode( ' ', (string) $value ); | |
} | |
$classes_array = array_map( 'sanitize_html_class', $classes_array ); | |
$attr['class'] .= ' ' . implode( ' ', $classes_array ); | |
return $attr; | |
} | |
function pippin_add_extra_fruits( $classes ) { | |
$extra_classes = array( | |
'widget' => 'panel panel-default', | |
'site-inner' => '', | |
'content-sidebar-wrap' => 'row', | |
'content' => 'col-sm-12 col-md-8 col-lg-9', | |
'sidebar-primary' => 'hidden-sm col-md-4 col-lg-3', | |
'archive-pagination' => 'clearfix', | |
'entry-content' => 'clearfix', | |
'entry-pagination' => 'clearfix bsg-pagination-numeric', | |
'nav-footer' => 'pull-right', | |
'entry' => 'panel panel-default', | |
'jumbotron-header' => 'fullwidth', | |
'site-footer' => '', | |
'nav-primary' => 'navbar navbar-inverse navbar-static-top', | |
'nav-secondary' => 'navbar navbar-default navbar-static-top', | |
'site-header' => 'navbar navbar-static-top' | |
); | |
//$classes = array_merge($extra_classes, $classes); | |
$classes = wp_parse_args($extra_classes, $classes); | |
return $classes; | |
} | |
function bsg_modify_classes_based_on_extras( $classes, $context, $attr ) { | |
// do_action( 'add_fruits', $classes ); | |
$classes= pippin_add_extra_fruits($classes); | |
return $classes; | |
} | |
add_filter('bsg-classes-to-add', 'bsg_modify_classes_based_on_extras', 10, 3); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
$genesis_atts = array( | |
'nav-primary', | |
'nav-secondary', | |
'site-header', | |
'site-inner', | |
'content-sidebar-wrap', | |
'content', | |
'sidebar-primary', | |
'sidebar-secondary', | |
'archive-pagination', | |
'entry-content', | |
'entry-pagination', | |
'site-footer', | |
'nav-footer', | |
'entry', | |
'jumbotron-header', | |
'widget' | |
); | |
foreach ( $genesis_atts as $context ) { | |
$context = "genesis_attr_$context"; | |
add_filter( $context, 'bsg_add_markup_class', 10, 2); | |
} | |
function bsg_add_markup_class( $attr, $context ) { | |
$classes = array(); | |
if( has_filter('bsg-classes-to-add') ) { | |
$classes = apply_filters ('bsg-classes-to-add', $classes, $context, $attr); | |
} | |
$value = isset( $classes[ $context ] ) ? $classes[ $context ] : array(); | |
if ( is_array( $value ) ) { | |
$classes_array = $value; | |
} else { | |
$classes_array = explode( ' ', (string) $value ); | |
} | |
$classes_array = array_map( 'sanitize_html_class', $classes_array ); | |
$attr['class'] .= ' ' . implode( ' ', $classes_array ); | |
return $attr; | |
} | |
function pippin_add_extra_fruits( $classes ) { | |
$extra_classes = array( | |
'widget' => 'panel panel-default', | |
'site-inner' => '', | |
'content-sidebar-wrap' => 'row', | |
'content' => 'col-sm-12 col-md-8 col-lg-9', | |
'sidebar-primary' => 'hidden-sm col-md-4 col-lg-3', | |
'archive-pagination' => 'clearfix', | |
'entry-content' => 'clearfix', | |
'entry-pagination' => 'clearfix bsg-pagination-numeric', | |
'nav-footer' => 'pull-right', | |
'entry' => 'panel panel-default', | |
'jumbotron-header' => 'fullwidth', | |
'site-footer' => '', | |
'nav-primary' => 'navbar navbar-inverse navbar-static-top', | |
'nav-secondary' => 'navbar navbar-default navbar-static-top', | |
'site-header' => 'navbar navbar-static-top' | |
); | |
// $classes = array_merge($extra_classes, $classes); | |
$classes = wp_parse_args($extra_classes, $classes); | |
return $classes; | |
} | |
// add_action('add_fruits', 'pippin_add_extra_fruits'); | |
function bsg_modify_classes_based_on_extras( $classes, $context, $attr ) { | |
// do_action( 'add_fruits', $classes ); | |
$classes= pippin_add_extra_fruits($classes); | |
return $classes; | |
} | |
add_filter('bsg-classes-to-add', 'bsg_modify_classes_based_on_extras', 10, 3); | |
add_filter('bsg-classes-to-add', 'bsg_modify_classes_based_on_template', 10, 3); | |
function bsg_modify_classes_based_on_template( $classes, $context, $attr ) { | |
$classes = bsg_layout_options_modify_classes_to_add( $classes ); | |
return $classes; | |
} | |
function bsg_layout_options_modify_classes_to_add( $classes ) { | |
$layout = genesis_site_layout(); | |
// full-width-content | |
if ( 'full-width-content' === $layout ) { | |
$classes['content'] = 'col-sm-12'; | |
} | |
// sidebar-content | |
if ( 'sidebar-content' === $layout ) { | |
$classes['content'] = 'col-sm-12 col-md-8 col-lg-9 col-md-push-4 col-lg-push-3'; | |
$classes['sidebar-primary'] = 'hidden-xs hidden-sm col-md-4 col-lg-3 col-md-pull-8 col-lg-pull-9'; | |
} | |
// content-sidebar-sidebar | |
if ( 'content-sidebar-sidebar' === $layout ) { | |
$classes['content'] = 'col-sm-6'; | |
$classes['sidebar-primary'] = 'col-sm-3'; | |
$classes['sidebar-secondary'] = 'col-sm-3'; | |
} | |
// sidebar-sidebar-content | |
if ( 'sidebar-sidebar-content' === $layout ) { | |
$classes['content'] = 'col-sm-6 col-sm-push-6'; | |
$classes['sidebar-primary'] = 'col-sm-3 col-sm-pull-3'; | |
$classes['sidebar-secondary'] = 'col-sm-3 col-sm-pull-9'; | |
} | |
// sidebar-content-sidebar | |
if ( 'sidebar-content-sidebar' === $layout ) { | |
$classes['content'] = 'col-sm-6 col-sm-push-3'; | |
$classes['sidebar-primary'] = 'col-sm-3 col-sm-push-3'; | |
$classes['sidebar-secondary'] = 'col-sm-3 col-sm-pull-9'; | |
} | |
return $classes; | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment