Put the menu item parent title into sub menu
authorSteve Sutton <steve@gaslightmedia.com>
Thu, 23 Jun 2016 20:00:12 +0000 (16:00 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Thu, 23 Jun 2016 20:00:12 +0000 (16:00 -0400)
Tricky one here.
Need to save the object when it is at the depth of 0.

lib/menu-walker.php

index 64b5a96..c7f2d74 100644 (file)
@@ -17,14 +17,20 @@ class Glm_Theme_Top_Bar_Walker extends Walker_Nav_Menu {
     }
 
     function start_el( &$output, $object, $depth = 0, $args = array(), $current_object_id = 0 ) {
+        static $saveParent = 0;
         $item_html = '';
         parent::start_el( $item_html, $object, $depth, $args );
+        //echo '<pre>$object: ' . print_r($object, true) . '</pre>';
 
         // 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>";
+        if ( $depth == 0 ) {
+            $saveParent = $object;
+        }
+        if ( $depth != 0 ) {
+            // get the page title from parent
+            $title = get_the_title( $saveParent->object_id );
+            $output .= '<li><h1>' . $title . '</h1></li>';
         }
         //$output .= ( 0 == $depth ) ? '<li class="divider"></li>' : '';
         $classes = empty( $object->classes ) ? array() : (array) $object->classes;
@@ -35,8 +41,9 @@ class Glm_Theme_Top_Bar_Walker extends Walker_Nav_Menu {
         if ( in_array( 'divider', $classes ) ) {
             $item_html = preg_replace( '/<a[^>]*>( .* )<\/a>/iU', '', $item_html );
         }
-        if ($item_style)
+        if ($item_style) {
             $output .= $item_style;
+        }
         $output .= $item_html;
     }