Adding an external link to wordpress menu

You’re _doing_it_wrong(). When you call wp_nav_menu(), you should be referencing theme_location, not menu.

The way the custom navigation menu functionality is intended to work:

  1. The Theme registers locations for navigation menus to appear, via register_nav_menus( array( 'location_slug' => 'Location Name' ).
  2. Then the Theme instructs WordPress where to output those menus, via wp_nav_menu( array( 'theme_location' => 'location_slug' ) ).
  3. The user defines the menu itself, via the UI at Dashboard -> Appearance -> Menus
  4. Then the user assigns a defined menu to the Theme-registered locations, via that same UI.

So, by calling menu instead of theme_location in your wp_nav_menu() call, you prevent the user from assigning a menu to that location. Very likely what’s happening is that the user hasn’t defined a menu with the name you’re calling via the menu argument, and so WordPress is simply falling back to the default wp_page_menu() output.

Once you correct this issue, then you can define a menu with whatever links in it that you want, and then assign that menu to the appropriate location.