I've found this new plugin
http://wpsmith.net/wordpress/creating-multiple-custom-menus-in-wordpress-3-1
that is using a new 3.1 hook (wp_nav_menu_objects) to remove specific nav-menu-items from the nav-menu-item array before they are parsed by the walker class, if a user isn't logged in. The plugin uses a specific CSS-class as identifier to decide which items to remove.
So I've been wondering if it couldn't be possible to use shortcodes in nav-menu-item descriptions, in order to have an advanced set of conditionals with respect to the display of specific menu items (like display on page x, don't display on page y, or, particularly useful: automatic inclusion of child pages/categories, etc. by inserting them into the nav_menu_item array before the array is parsed by the walker)
But adding
add_filter(‘wp_nav_menu_objects’, ‘do_shortcode’);
is causing the page to not load correctly. Not a blank page error, but the page stops rendering right after the nav menu containter div. Is there any way to use native WP shortcode functionality for this purpose? Or would it be necessary to create a custom shortcode parser within the function analysing the nav-item-contents?
Thanks for any ideas!