Skip to content

Instantly share code, notes, and snippets.

@webgurus
Last active August 29, 2015 14:04
Show Gist options
  • Save webgurus/49e4e36050913064e3e3 to your computer and use it in GitHub Desktop.
Save webgurus/49e4e36050913064e3e3 to your computer and use it in GitHub Desktop.
Fix Roots Nav menu walker to add active class to custom post types
/**
* Fix wp_nav_menu's active item highlighting with custom post types
*/
function roots_cpt_active_menu($menu) {
$post_type = get_post_type();
switch($post_type) {
case 'post':
$menu = str_replace('active', '', $menu);
$menu = str_replace('menu-news', 'menu-news active', $menu);
break;
case 'product':
$menu = str_replace('active', '', $menu);
$menu = str_replace('menu-products', 'menu-products active', $menu);
break;
case 'accsesories':
$menu = str_replace('active', '', $menu);
$menu = str_replace('menu-accessories', 'menu-accessories active', $menu);
break;
case 'marketing':
$menu = str_replace('active', '', $menu);
$menu = str_replace('menu-marketing-collateral', 'menu-marketing-collateral active', $menu);
break;
case 'partners':
$menu = str_replace('active', '', $menu);
$menu = str_replace('menu-partner-directory', 'menu-partner-directory active', $menu);
break;
}
if (is_author()) {
$menu = str_replace('active', '', $menu);
}
/* if (is_singular('post')) {
$menu = str_replace('menu-blog', 'menu-blog active', $menu);
}*/
return $menu;
}
add_filter('nav_menu_css_class', 'roots_cpt_active_menu', 400);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment