How we show pages in dropdown

Use wp_dropdown_pages(): print ‘<form action=”‘ . home_url() . ‘”>’; wp_dropdown_pages(); print ‘<input type=submit></form>’; You get a select field with proper indentation, and clicking on the button will send the user to that page.

Use wp_nav_menu to dynamically generate child menus

My solution uses the Walker_Nav_Menu and a custom class and is mostly hacked together from this post: How do I dynamically populate wp_nav_menu from a custom taxonomy? Solution: //define the custom post type //could use “page” or “post” as well. define(“MENU_CPT”, “action”); //custom function for selecting posts based on a page parent (ne’ term_id) function … Read more

menu items toggle and display on screen size reduction

This is most likely the default behavior for Twenty Twelve; responsive for small screens and thus stacking elements on the page, including the contents of your nav, #site-navigation. Let’s looks at the nav section in the default TT theme: <nav id=”site-navigation” class=”main-navigation” role=”navigation”> <h3 class=”menu-toggle”>Menu</h3> <a class=”assistive-text” href=”#content” title=”Skip to content”>Skip to content</a> <div class=”nav-menu”> … Read more

Rogue current menu item class in wp_nav_menu()

From look at core this is coming from this: // back-compat with wp_page_menu: add “current_page_parent” to static home page link for any non-page query if ( ! empty( $home_page_id ) && ‘post_type’ == $menu_item->type && empty( $wp_query->is_page ) && $home_page_id == $menu_item->object_id ) $classes[] = ‘current_page_parent’; It seems to be some legacy thing, I would … Read more

Walker for menus

All of the methods are being overridden when you load your own walker, but typically you would extend another Walker which works a bit like “filtering” or “pluggable functions”. Take a look at this very simple walker from another question: class my_extended_walker extends Walker_Nav_Menu { function start_lvl(&$output, $depth = 0, $args = array()) { $output … Read more

Image menu on responsive WordPress

I’m not sure what you are asking for, but I think you need some general suggestions. So: 1) Websites are made by three layers. WordPress (like others good CMS) creates “only” TEXT menu because this is the (fundamental) semantic layer. 1-b) Then, you can always add a presentation layer (css) or a behaviour layer (javascript) … Read more