Quantcast
Channel: WordPress › Support » Forum: Hacks - Recent Topics
Viewing all articles
Browse latest Browse all 8245

maxxd on "Custom menu walker question"

$
0
0

Hey all. I'm fairly new to WordPress (not php) and completely new to this forum, and am running into an issue. I need to add link descriptions to 1 of 5 menus on my page. I've read about extending Walker_Nav_Menu() and am attempting that, and it's kinda going well except for one slightly annoying issue - it's returning the wrong menu.

I'm attempting to isolate the action to a menu with the slug 'subbrand-menu'. All the code follows:

mytheme/functions.php

require_once('classes/FunctionClass.php');
$fn = new MyDev\FunctionClass();
add_filter('wp_get_nav_menu_items',array($fn,'buildSubbrandMenu'),10,2);

mytheme/classes/FunctionClass.php

namespace MyDev;
class FunctionClass{
        private    $_walker;
	public function buildSubbrandMenu($menu, $args){
		 if(\is_admin() || $args->slug !== 'subbrand-menu'){
			return $menu;
		 }
		if(empty($this->_walker)){
			require_once('MyWalker.php');
			$this->_walker = new MyWalker;
		}
		\wp_nav_menu(array(
			'menu'			=> 'subbrand_menu',
			'container'		=> 'div',
			'container_class'	=> 'menu-subbrand-menu-container',
			'container_id'		=> '',
			'menu_class'		=> 'menu',
			'menu_id'		=> 'menu-subbrand-menu',
			'echo'			=> true,
			'walker'		=> $this->_walker
		));
	}
}

mytheme/classes/MyWalker.php

namespace MyDev;
class MyWalker extends \Walker_Nav_Menu{
	public function end_el(&$output, $item, $depth=0, $args=array()) {
		$output .= "<span class='thisisadescr'>Testing, testing</span></li>";
	}
}

Now, the above actually works quite well except that it's outputting the contents of a menu with the slug 'floater'. Of course, the hard-coded 'descriptions' are attached to each menu item, which is good in the long run...

Anybody have any ideas what I'm missing here? I'm sure it's something simple but it's driving me crazy right now. Thanks in advance for any and all thoughts, hints, tips, and ideas.


Viewing all articles
Browse latest Browse all 8245

Trending Articles