I've looked and can't look for a custom "Master" class which will hide the submenus from wordpress_nav_menu until you are well on parents page. I've discovered plenty of methods to hide them or simply show the submenus but absolutely no way to simply show submenus when you're for the reason that section. Below is a good example of the way i require it to show:

Wordpress_nav_menu structure because it presently stands:

  • Parent 1
  • Parent 2
    • Child 1
    • Child 2
  • Parent 3
    • Child A
    • Child B

-Display-

On Parent 1 / Home page:

  • Parent 1
  • Parent 2
  • Parent 3

On Parent 2 and Parent 2 child pages:

  • Parent 1
  • Parent 2
    • Child 1
    • Child 2
  • Parent 3

You do not need a custom master to get this done, it is possible while using CSS classes, and display:none

e.g. you might start with:

.menu .sub-menu { display: none; }
.menu .current-menu-item .sub-menu { display:block; }
.menu .current-menu-ancestor .sub-menu { display:block; }

Having a couple of additional rules, in line with the classes put on your body tag you can conditionally show and hide other menu products, using classes put into recption menus products through the after sales.