Created
January 12, 2012 01:50
Revisions
-
johnmegahan revised this gist
Mar 12, 2012 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
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 charactersOriginal file line number Diff line number Diff line change @@ -31,7 +31,7 @@ function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) { $classes = empty( $item->classes ) ? array() : (array) $item->classes; $classes[] = ($args->has_children) ? 'dropdown' : ''; $classes[] = ($item->current || $item->current_item_ancestor) ? 'active' : ''; $classes[] = 'menu-item-' . $item->ID; -
johnmegahan revised this gist
Feb 17, 2012 . 2 changed files with 5 additions and 11 deletions.There are no files selected for viewing
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 charactersOriginal file line number Diff line number Diff line change @@ -30,11 +30,9 @@ function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) { $class_names = $value = ''; $classes = empty( $item->classes ) ? array() : (array) $item->classes; $classes[] = ($args->has_children) ? 'dropdown' : ''; $classes[] = ($item->current) ? 'active' : ''; $classes[] = 'menu-item-' . $item->ID; $class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args ) ); 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 charactersOriginal file line number Diff line number Diff line change @@ -1,23 +1,19 @@ <div class="navbar navbar-fixed-top"> <div class="navbar-inner"> <div class="container"> <?php $args = array( 'theme_location' => 'top-bar', 'depth' => 2, 'container' => false, 'menu_class' => 'nav', 'walker' => new Bootstrap_Walker_Nav_Menu() ); wp_nav_menu($args); ?> </div> </div> </div> -
johnmegahan revised this gist
Feb 11, 2012 . 1 changed file with 2 additions and 2 deletions.There are no files selected for viewing
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 charactersOriginal file line number Diff line number Diff line change @@ -1,6 +1,6 @@ <div class="navbar"><!-- add class navbar-fixed-top for the fixed menu --> <div class="navbar-inner"> <div class="container"> -
johnmegahan revised this gist
Feb 11, 2012 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
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 charactersOriginal file line number Diff line number Diff line change @@ -49,7 +49,7 @@ function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) { $attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) .'"' : ''; $attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) .'"' : ''; $attributes .= ! empty( $item->url ) ? ' href="' . esc_attr( $item->url ) .'"' : ''; $attributes .= ($args->has_children) ? ' class="dropdown-toggle" data-toggle="dropdown"' : ''; $item_output = $args->before; $item_output .= '<a'. $attributes .'>'; -
johnmegahan revised this gist
Feb 11, 2012 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
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 charactersOriginal file line number Diff line number Diff line change @@ -54,7 +54,7 @@ function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) { $item_output = $args->before; $item_output .= '<a'. $attributes .'>'; $item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after; $item_output .= ($args->has_children) ? ' <b class="caret"></b></a>' : '</a>'; $item_output .= $args->after; $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args ); -
johnmegahan revised this gist
Feb 11, 2012 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
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 charactersOriginal file line number Diff line number Diff line change @@ -54,7 +54,7 @@ function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) { $item_output = $args->before; $item_output .= '<a'. $attributes .'>'; $item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after; $item_output .= ($args->has_children) ? '<b class="caret"></b></a>' : '</a>'; $item_output .= $args->after; $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args ); -
johnmegahan revised this gist
Feb 11, 2012 . 1 changed file with 1 addition and 3 deletions.There are no files selected for viewing
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 charactersOriginal file line number Diff line number Diff line change @@ -51,12 +51,10 @@ function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) { $attributes .= ! empty( $item->url ) ? ' href="' . esc_attr( $item->url ) .'"' : ''; $attributes .= ($args->has_children) ? ' class="dropdown-toggle" data-dropdown="dropdown"' : ''; $item_output = $args->before; $item_output .= '<a'. $attributes .'>'; $item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after; $item_output .= (args->has_children) ? '<b class="caret"></b></a>' : '</a>'; $item_output .= $args->after; $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args ); -
johnmegahan revised this gist
Feb 11, 2012 . 1 changed file with 3 additions and 2 deletions.There are no files selected for viewing
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 charactersOriginal file line number Diff line number Diff line change @@ -32,7 +32,6 @@ function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) { $classes = empty( $item->classes ) ? array() : (array) $item->classes; if ($args->has_children){ $classes[] = 'dropdown'; } $classes[] = 'menu-item-' . $item->ID; $classes[] = ($item->current) ? 'active' : ''; @@ -50,7 +49,9 @@ function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) { $attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) .'"' : ''; $attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) .'"' : ''; $attributes .= ! empty( $item->url ) ? ' href="' . esc_attr( $item->url ) .'"' : ''; $attributes .= ($args->has_children) ? ' class="dropdown-toggle" data-dropdown="dropdown"' : ''; $attributes .= ( $item_output = $args->before; $item_output .= '<a'. $attributes .'>'; -
johnmegahan revised this gist
Jan 24, 2012 . 1 changed file with 2 additions and 2 deletions.There are no files selected for viewing
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 charactersOriginal file line number Diff line number Diff line change @@ -8,8 +8,8 @@ $args = array( 'theme_location' => 'top-bar', 'depth' => 2, 'walker' => new Bootstrap_Walker_Nav_Menu() ); wp_nav_menu($args); -
johnmegahan revised this gist
Jan 24, 2012 . 2 changed files with 110 additions and 92 deletions.There are no files selected for viewing
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 charactersOriginal file line number Diff line number Diff line change @@ -1,105 +1,114 @@ <?php add_action( 'after_setup_theme', 'bootstrap_setup' ); if ( ! function_exists( 'bootstrap_setup' ) ): function bootstrap_setup(){ add_action( 'init', 'register_menu' ); function register_menu(){ register_nav_menu( 'top-bar', 'Bootstrap Top Menu' ); } class Bootstrap_Walker_Nav_Menu extends Walker_Nav_Menu { function start_lvl( &$output, $depth ) { $indent = str_repeat( "\t", $depth ); $output .= "\n$indent<ul class=\"dropdown-menu\">\n"; } function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) { $indent = ( $depth ) ? str_repeat( "\t", $depth ) : ''; $li_attributes = ''; $class_names = $value = ''; $classes = empty( $item->classes ) ? array() : (array) $item->classes; if ($args->has_children){ $classes[] = 'dropdown'; $li_attributes .= 'data-dropdown="dropdown"'; } $classes[] = 'menu-item-' . $item->ID; $classes[] = ($item->current) ? 'active' : ''; $class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args ) ); $class_names = ' class="' . esc_attr( $class_names ) . '"'; $id = apply_filters( 'nav_menu_item_id', 'menu-item-'. $item->ID, $item, $args ); $id = strlen( $id ) ? ' id="' . esc_attr( $id ) . '"' : ''; $output .= $indent . '<li' . $id . $value . $class_names . $li_attributes . '>'; $attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr( $item->attr_title ) .'"' : ''; $attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) .'"' : ''; $attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) .'"' : ''; $attributes .= ! empty( $item->url ) ? ' href="' . esc_attr( $item->url ) .'"' : ''; $attributes .= ($args->has_children) ? ' class="dropdown-toggle"' : ''; $item_output = $args->before; $item_output .= '<a'. $attributes .'>'; $item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after; $item_output .= '</a>'; $item_output .= $args->after; $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args ); } function display_element( $element, &$children_elements, $max_depth, $depth=0, $args, &$output ) { if ( !$element ) return; $id_field = $this->db_fields['id']; //display this element if ( is_array( $args[0] ) ) $args[0]['has_children'] = ! empty( $children_elements[$element->$id_field] ); else if ( is_object( $args[0] ) ) $args[0]->has_children = ! empty( $children_elements[$element->$id_field] ); $cb_args = array_merge( array(&$output, $element, $depth), $args); call_user_func_array(array(&$this, 'start_el'), $cb_args); $id = $element->$id_field; // descend only when the depth is right and there are childrens for this element if ( ($max_depth == 0 || $max_depth > $depth+1 ) && isset( $children_elements[$id]) ) { foreach( $children_elements[ $id ] as $child ){ if ( !isset($newlevel) ) { $newlevel = true; //start the child delimiter $cb_args = array_merge( array(&$output, $depth), $args); call_user_func_array(array(&$this, 'start_lvl'), $cb_args); } $this->display_element( $child, $children_elements, $max_depth, $depth + 1, $args, $output ); } unset( $children_elements[ $id ] ); } if ( isset($newlevel) && $newlevel ){ //end the child delimiter $cb_args = array_merge( array(&$output, $depth), $args); call_user_func_array(array(&$this, 'end_lvl'), $cb_args); } //end this element $cb_args = array_merge( array(&$output, $element, $depth), $args); call_user_func_array(array(&$this, 'end_el'), $cb_args); } } } endif; ?> 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 charactersOriginal file line number Diff line number Diff line change @@ -1,14 +1,23 @@ <div class="topbar"> <div class="topbar-inner"> <div class="container"> <?php $args = array( 'theme_location' => 'top-bar', 'depth' => 2, 'walker' => new Bootstrap_Walker_Nav_Menu() ); wp_nav_menu($args); ?> </div> </div> </div> -
johnmegahan revised this gist
Jan 24, 2012 . 2 changed files with 14 additions and 0 deletions.There are no files selected for viewing
File renamed without changes.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 charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,14 @@ <?php $args = array( 'menu' => 'top', 'container' => false, 'menu_class' => 'nav', 'depth' => 2, 'walker' => new Bootstrap_Walker_Nav_Menu(), 'items_wrap' => '<ul id="primary-nav" class="%2$s">%3$s</ul>' ); wp_nav_menu($args); ?> -
johnmegahan revised this gist
Jan 13, 2012 . 1 changed file with 10 additions and 2 deletions.There are no files selected for viewing
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 charactersOriginal file line number Diff line number Diff line change @@ -2,8 +2,10 @@ class Bootstrap_Walker_Nav_Menu extends Walker_Nav_Menu { function start_lvl( &$output, $depth ) { //In a child UL, add the 'dropdown-menu' class $indent = str_repeat( "\t", $depth ); $output .= "\n$indent<ul class=\"dropdown-menu\">\n"; @@ -17,14 +19,17 @@ function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) { $class_names = $value = ''; $classes = empty( $item->classes ) ? array() : (array) $item->classes; //Add class and attribute to LI element that contains a submenu UL. if ($args->has_children){ $classes[] = 'dropdown'; $li_attributes .= 'data-dropdown="dropdown"'; } $classes[] = 'menu-item-' . $item->ID; //If we are on the current page, add the active class to that menu item. $classes[] = ($item->current) ? 'active' : ''; //Make sure you still add all of the WordPress classes. $class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args ) ); $class_names = ' class="' . esc_attr( $class_names ) . '"'; @@ -33,6 +38,7 @@ function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) { $output .= $indent . '<li' . $id . $value . $class_names . $li_attributes . '>'; //Add attributes to link element. $attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr( $item->attr_title ) .'"' : ''; $attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) .'"' : ''; $attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) .'"' : ''; @@ -48,6 +54,7 @@ function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) { $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args ); } //Overwrite display_element function to add has_children attribute. Not needed in >= Wordpress 3.4 function display_element( $element, &$children_elements, $max_depth, $depth=0, $args, &$output ) { if ( !$element ) @@ -94,4 +101,5 @@ function display_element( $element, &$children_elements, $max_depth, $depth=0, $ } } ?> -
johnmegahan revised this gist
Jan 13, 2012 . 1 changed file with 4 additions and 2 deletions.There are no files selected for viewing
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 charactersOriginal file line number Diff line number Diff line change @@ -1,6 +1,7 @@ <?php class Bootstrap_Walker_Nav_Menu extends Walker_Nav_Menu { function start_lvl( &$output, $depth ) { $indent = str_repeat( "\t", $depth ); @@ -92,4 +93,5 @@ function display_element( $element, &$children_elements, $max_depth, $depth=0, $ } } ?> -
johnmegahan revised this gist
Jan 13, 2012 . 1 changed file with 52 additions and 11 deletions.There are no files selected for viewing
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 charactersOriginal file line number Diff line number Diff line change @@ -1,4 +1,5 @@ class Bootstrap_Walker_Nav_Menu extends Walker_Nav_Menu { function start_lvl( &$output, $depth ) { @@ -8,25 +9,20 @@ function start_lvl( &$output, $depth ) { } function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) { $indent = ( $depth ) ? str_repeat( "\t", $depth ) : ''; $li_attributes = ''; $class_names = $value = ''; $classes = empty( $item->classes ) ? array() : (array) $item->classes; if ($args->has_children){ $classes[] = 'dropdown'; $li_attributes .= 'data-dropdown="dropdown"'; } $classes[] = 'menu-item-' . $item->ID; $classes[] = ($item->current) ? 'active' : ''; $class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args ) ); $class_names = ' class="' . esc_attr( $class_names ) . '"'; @@ -40,7 +36,7 @@ function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) { $attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) .'"' : ''; $attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) .'"' : ''; $attributes .= ! empty( $item->url ) ? ' href="' . esc_attr( $item->url ) .'"' : ''; $attributes .= ($args->has_children) ? ' class="dropdown-toggle"' : ''; $item_output = $args->before; $item_output .= '<a'. $attributes .'>'; @@ -50,5 +46,50 @@ function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) { $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args ); } function display_element( $element, &$children_elements, $max_depth, $depth=0, $args, &$output ) { if ( !$element ) return; $id_field = $this->db_fields['id']; //display this element if ( is_array( $args[0] ) ) $args[0]['has_children'] = ! empty( $children_elements[$element->$id_field] ); else if ( is_object( $args[0] ) ) $args[0]->has_children = ! empty( $children_elements[$element->$id_field] ); $cb_args = array_merge( array(&$output, $element, $depth), $args); call_user_func_array(array(&$this, 'start_el'), $cb_args); $id = $element->$id_field; // descend only when the depth is right and there are childrens for this element if ( ($max_depth == 0 || $max_depth > $depth+1 ) && isset( $children_elements[$id]) ) { foreach( $children_elements[ $id ] as $child ){ if ( !isset($newlevel) ) { $newlevel = true; //start the child delimiter $cb_args = array_merge( array(&$output, $depth), $args); call_user_func_array(array(&$this, 'start_lvl'), $cb_args); } $this->display_element( $child, $children_elements, $max_depth, $depth + 1, $args, $output ); } unset( $children_elements[ $id ] ); } if ( isset($newlevel) && $newlevel ){ //end the child delimiter $cb_args = array_merge( array(&$output, $depth), $args); call_user_func_array(array(&$this, 'end_lvl'), $cb_args); } //end this element $cb_args = array_merge( array(&$output, $element, $depth), $args); call_user_func_array(array(&$this, 'end_el'), $cb_args); } } -
johnmegahan revised this gist
Jan 12, 2012 . 1 changed file with 1 addition and 0 deletions.There are no files selected for viewing
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 charactersOriginal file line number Diff line number Diff line change @@ -24,6 +24,7 @@ function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) { $has_children = true; $classes[] = 'dropdown'; $li_attributes .= 'data-dropdown="dropdown"'; break; } } -
There are no files selected for viewing
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 charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,53 @@ class Bootstrap_Walker_Nav_Menu extends Walker_Nav_Menu { function start_lvl( &$output, $depth ) { $indent = str_repeat( "\t", $depth ); $output .= "\n$indent<ul class=\"dropdown-menu\">\n"; } function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) { global $wpdb; $indent = ( $depth ) ? str_repeat( "\t", $depth ) : ''; $li_attributes = ''; $has_children = false; $class_names = $value = ''; $classes = empty( $item->classes ) ? array() : (array) $item->classes; $classes[] = 'menu-item-' . $item->ID; $classes[] = ($item->current) ? 'active' : ''; foreach($wpdb->last_result as $a) { if ( $a->meta_key == '_menu_item_menu_item_parent' && $a->meta_value == $item->ID && $has_children == false){ $has_children = true; $classes[] = 'dropdown'; $li_attributes .= 'data-dropdown="dropdown"'; } } $class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args ) ); $class_names = ' class="' . esc_attr( $class_names ) . '"'; $id = apply_filters( 'nav_menu_item_id', 'menu-item-'. $item->ID, $item, $args ); $id = strlen( $id ) ? ' id="' . esc_attr( $id ) . '"' : ''; $output .= $indent . '<li' . $id . $value . $class_names . $li_attributes . '>'; $attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr( $item->attr_title ) .'"' : ''; $attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) .'"' : ''; $attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) .'"' : ''; $attributes .= ! empty( $item->url ) ? ' href="' . esc_attr( $item->url ) .'"' : ''; $attributes .= ($has_children) ? ' class="dropdown-toggle"' : ''; $item_output = $args->before; $item_output .= '<a'. $attributes .'>'; $item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after; $item_output .= '</a>'; $item_output .= $args->after; $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args ); } }