Walker_Nav_Menu doesn’t work in wp_page_menu_args filter

Old Q, but I’ll give my 2 cents.

  1. The walker class should inherit Walker_Page, not Walker_Nav_Menu as is usually the case with guides on the ‘net.
  2. The $item object is a Post Object, containing post_title and ID. To output the URL, you need to call get_permalink($item-ID). Regarding $item->url, it will be unset.
  3. Both theme_location and fallback_cb need to be non-present in the $args array given to wp_nav_menu.