Ideally, you should be passing the “theme_location” argument to wp_nav_menu().
Register your three menus in functions.php:
register_nav_menus( array(
'front_page' => 'Front Page Menu',
'single' => 'Single Post Menu',
'default' => 'Default Menu'
) );
Then, replace your code above with:
if ( is_front_page() )
{
wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'front_page' ));
}
elseif ( is_single() )
{
wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'single' ) );
}
else
{
wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'default' ));
}
Then, ensure the appropriate custom menu is defined for each Theme Location, via Dashboard -> Appearance -> Menus