Limit the menu child levels under “admin > appearance > menus”

Just use remove_submenu_page( $menu_slug, $submenu_slug );. $menu_slug = Parent page $submenu_slug = Submenu page Example usage: // Remove the submenu page for widgets add_action( ‘admin_menu’, ‘adjust_the_wp_menu’, 999 ); function adjust_the_wp_menu() { remove_submenu_page( ‘themes.php’, ‘widgets.php’ ); }

wp_nav_menu, walker class, categories as classes of li

your walker class is almost perfect for what you need @Gab. instead of line 21: $output .= ‘<li>’; move it down just before line 38 $output .= apply_filters( ‘walker_nav_menu_start_el’ […] and change it to something like $output .= $indent . ‘<li id=”nav-menu-item-‘. $item->ID . ‘” class=”‘. $title . ‘”>’; and you should have the category … Read more

Getting menu items like get_pages

Yes, there is. Use wp_get_nav_menu_items() instead. <?php $items = wp_get_nav_menu_items( $menu, $args ); ?> <?php $args = array( ‘order’ => ‘ASC’, ‘orderby’ => ‘menu_order’, ‘post_type’ => ‘nav_menu_item’, ‘post_status’ => ‘publish’, ‘output’ => ARRAY_A, ‘output_key’ => ‘menu_order’, ‘nopaging’ => true, ‘update_post_term_cache’ => false ); ?> Here is the page on WordPress Codex

Custom Post Type Nav to Subpage

You say that you know about show_in_menu parameter for register_post_type() but it seems like you missed the options for this parameter: ‘false’ – do not display in the admin menu ‘true’ – display as a top level menu ‘some string’ – If an existing top level page such as ‘tools.php’ or ‘edit.php?post_type=page’, the post type … Read more

Return Page/Post ID’s of Child WP_Nav_Menu items

Hook int ‘wp_nav_menu_objects’. You get a list (an array) of all found menu items as an array. Each item is an object, and each one has a property named ID. That’s the ID of the original object if it was a post object. In your filter callback just iterate over these items, collect the IDs … Read more

Creating a nav menu

First, be sure your theme supports wp_nav_menu which is goes into a template file – such as header.php – with the template tag function <?php wp_nav_menu( $args ); ?> which also requires a function in functions.php. See http://codex.wordpress.org/Function_Reference/wp_nav_menu That will initiate the WordPress 3 menu system that will appear in Dashboard>>Appearance>>Menus Next, read http://codex.wordpress.org/WordPress_Menu_User_Guide on … Read more