No need to use conditional here to hide your nav menu when it is empty.
Have a look at wp_nav_menu( $args );
. It accepts the following arguments
$defaults = array(
'theme_location' => '',
'menu' => '',
'container' => 'div',
'container_class' => '',
'container_id' => '',
'menu_class' => 'menu',
'menu_id' => '',
'echo' => true,
'fallback_cb' => 'wp_page_menu',
'before' => '',
'after' => '',
'link_before' => '',
'link_after' => '',
'items_wrap' => '<ul id="%1$s" class="%2$s">%3$s</ul>',
'depth' => 0,
'walker' => ''
);
wp_nav_menu( $defaults );
The important one here is 'fallback_cb'
$fallback_cb (string) (optional)
If the menu doesn’t exist, the
fallback function to use. Set to false for no fallback. Note: Passes
$args to the custom function.Default: wp_page_menu
So to hide a menu when it is empty, you can simply just add this to your arguments
'fallback_cb' => false
So your end code should be
wp_nav_menu( array('menu' => 'footer-cn', 'menu_id' => 'nav', 'menu_class' => 'ft-nav', 'fallback_cb' => false));