Yes, you need to add this:
add_action( 'init', 'my_custom_menus' );
function my_custom_menus() {
register_nav_menus(
array(
'primary-menu' => __( 'Primary Menu' ),
'secondary-menu' => __( 'Secondary Menu' )
)
);
}
to your functions.php. It will create the menu locations in the menu admin area. More info: https://codex.wordpress.org/Navigation_Menus
In your theme, usually in header, you need to add this line where you want your secondary-menu:
<?php wp_nav_menu( array( 'theme_location' => 'secondary-menu', 'menu_class' => 'topper', 'fallback_cb' => '') ); ?>
More info here: https://developer.wordpress.org/reference/functions/wp_nav_menu/
If you want to customize the menu code you can create a custom walker, you can refer to: https://codex.wordpress.org/Class_Reference/Walker
As for the last question, it should be but it’s theme related.