*/
if ( ! class_exists( 'Glm_Theme_Top_Bar_Walker' ) ) :
class Glm_Theme_Top_Bar_Walker extends Walker_Nav_Menu {
+ function display_element( $element, &$children_elements, $max_depth, $depth = 0, $args, &$output ) {
+ $element->has_children = ! empty( $children_elements[ $element->ID ] );
+ $element->classes[] = ( $element->current || $element->current_item_ancestor ) ? 'active' : '';
+ $element->classes[] = ( $element->has_children && 1 !== $max_depth ) ? 'has-dropdown' : '';
+ parent::display_element( $element, $children_elements, $max_depth, $depth, $args, $output );
+ }
+
+ function start_el( &$output, $object, $depth = 0, $args = array(), $current_object_id = 0 ) {
+ $item_html = '';
+ parent::start_el( $item_html, $object, $depth, $args );
+
+ // Insert style to display page's thumbnail
+ $item_style = '';
+ if ($depth == 0 && has_post_thumbnail((int)$object->object_id)) {
+ $thumbnail = wp_get_attachment_image_src(get_post_thumbnail_id((int)$object->object_id), 'large');
+ $item_style .= "<style>#menu-item-".$object->ID." > .dropdown:before { background-image: url('".$thumbnail[0]."');</style>";
+ }
+ //$output .= ( 0 == $depth ) ? '<li class="divider"></li>' : '';
+ $classes = empty( $object->classes ) ? array() : (array) $object->classes;
+ if ( in_array( 'label', $classes ) ) {
+ //$output .= '<li class="divider"></li>';
+ $item_html = preg_replace( '/<a[^>]*>(.*)<\/a>/iU', '<label>$1</label>', $item_html );
+ }
+ if ( in_array( 'divider', $classes ) ) {
+ $item_html = preg_replace( '/<a[^>]*>( .* )<\/a>/iU', '', $item_html );
+ }
+ if ($item_style)
+ $output .= $item_style;
+ $output .= $item_html;
+ }
+
+ function start_lvl( &$output, $depth = 0, $args = array() ) {
+ $output .= "\n<ul class=\"sub-menu dropdown\">\n";
+ }
+}
+endif;
+if ( ! class_exists( 'Glm_Theme_Main_Nav_Walker' ) ) :
+class Glm_Theme_Main_Nav_Walker extends Walker_Nav_Menu {
function display_element( $element, &$children_elements, $max_depth, $depth = 0, $args, &$output ) {
static $mainLevelCounter;
if ($depth == 0) {
$element->classes[] = ( $element->has_children && 1 !== $max_depth ) ? 'has-dropdown' : '';
$element->classes[] = ( $element->post_parent == 0 && $mainLevelCounter < 3 ) ? '' : "drop-left ctr-$mainLevelCounter";
parent::display_element( $element, $children_elements, $max_depth, $depth, $args, $output );
- $mainLevelCounter = 0;
}
function start_el( &$output, $object, $depth = 0, $args = array(), $current_object_id = 0 ) {