Sub navigation keeping menu order with css classes

I've looked around for code solutions and plugins to achieve this without success.

A really messy code solution:

A working plugin but doesn't have current page/ancestor css classes:

  • Aicos
    • New Recruit

    I have a main navigation menu (horizontal) and sub navigation (to the side). I basically need the sub navigation to show children menu items for the main navigation, depending on which item you click on in the main navigation.

    There is a plugin that will do this and works as a widget. This is in the second link I posted. But it doesn't contain any CSS Classes, and I would have to put down time on getting that to work the way I want (code hack). I need to be able to highlight the current page item in some way, and I need the CSS classes to do that, just like in wp_nav_menu(). But the page hierarchy may also contain 3 levels, and in that case I would normally use some CSS to hide or display 3rd level pages depending on which 2nd level page item is selected.

    wp_nav_menu() provides all those classes dynamically, but none of the solutions I've seen uses it. It also provides clever ancestor classes etc. Its not possible to use it actually because its lacking the parameter that allows the parent to be set dynamically.

    So the classes are one issue, and another issues is getting the pages to follow the correct menu order. Again, the 2nd link I posted cover that. It just falls short on the CSS classes aspect. I tried talking to the author, but got no response.

    Then I also need it to reflect the page order that is specified under appearance->menus in the wp-admin. I could slide on that requirement a bit, as I know we have the old way of setting the page order, but my client is going to ask why he can't use the Menus function in wp-admin to order the pages.

    Ideally, I would like a widget plugin that does this. But I would settle for some PHP that I can place in my page template.

    Thanks and regards,

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.