This is what I am upgrading Desk Mess Mirrored to:<br><br>    // Add wp_nav_menu() custom menu support<br>    add_theme_support( &#39;menus&#39; );<br>    function dmm_nav_menu() {<br>      if ( function_exists( &#39;wp_nav_menu&#39; ) )<br>
        wp_nav_menu( array(<br>                           &#39;theme_location&#39; =&gt; &#39;top-menu&#39;,<br>                           &#39;depth&#39; =&gt; 1,<br>                           &#39;fallback_cb&#39; =&gt; &#39;dmm_list_pages&#39;<br>
                           ) );<br>      else<br>        dmm_list_pages();      <br>    }<br>    <br>    function dmm_list_pages() {<br>      if ( is_home() || is_front_page()) {<br>        wp_list_pages( &#39;title_li=&amp;depth=1&#39; );<br>
      } else { ?&gt;<br>        &lt;li&gt;&lt;a href=&quot;&lt;?php bloginfo( &#39;url&#39; ); ?&gt;&quot;&gt;&lt;?php _e( &#39;Home&#39;, &#39;desk-mess-mirrored&#39; ) ?&gt;&lt;/a&gt;&lt;/li&gt;<br>        &lt;?php wp_list_pages( &#39;title_li=&amp;depth=1&#39; );<br>
      }<br>    }<br>    <br>    add_action( &#39;init&#39;, &#39;register_dmm_menu&#39; );<br>    function register_dmm_menu() {<br>      register_nav_menu( &#39;top-menu&#39;, __( &#39;Top Menu&#39; ) );<br>    }<br>    // wp_nav_menu() end<br>
<br>----<br>It&#39;s not 100% tested but it should cover the use of wp_nav_menu function well enough. Of course, this is a simple use of wp_list_pages but I am sure it is easily made more robust by editing the function called by &#39;fallback_cb&#39;. I could have dropped the entire old code section that I was using with wp_list_pages into the dmm_list_pages function but I chose to simplify a bit when implementing wp_nav_menu.<br>
<br><br>Cais.<br><br><br><div class="gmail_quote">On Fri, Jul 16, 2010 at 8:32 PM, Chip Bennett <span dir="ltr">&lt;<a href="mailto:chip@chipbennett.net">chip@chipbennett.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
My primary issue with making use of nav_menu() mandatory for navigation menus<br>
is that the function is nowhere near feature-parity with wp_list_pages(),<br>
especially with respect to automatic child-page navigation and dynamic update<br>
of menu_order and changing page hierarchy.<br>
<br>
For a primarily page-driven website, nav_menu() is still currently a *major*<br>
step backward from wp_list_pages().<br>
<br>
However, I do want to ensure that I&#39;m supporting current functionality as<br>
fully as possible. So, I wrapped my nav_menu() call in a has_nav_menu()<br>
conditional, with an else that has my original wp_list_pages() call. That way,<br>
the user can use the default, very powerful wp_list_pages() call, or else can<br>
build his own menu using nav_menu() if he so chooses.<br>
<br>
Just thought I&#39;d throw that out there to anyone looking for a gracefully<br>
degrading (upgrading?) method of incorporating nav_menu().<br>
<font color="#888888"><br>
--<br>
</font><div class="im">Chip Bennett<br>
<a href="mailto:chip@chipbennett.net">chip@chipbennett.net</a><br>
<a href="http://www.chipbennett.net" target="_blank">www.chipbennett.net</a><br>
<br>
</div><div><div></div><div class="h5">On Friday 16 July 2010 11:01:22 am Lance Willett wrote:<br>
&gt; On Thu, Jul 15, 2010 at 6:33 PM, Edward Caissie<br>
&gt;<br>
&gt; &lt;<a href="mailto:edward.caissie@gmail.com">edward.caissie@gmail.com</a>&gt; wrote:<br>
&gt; &gt; If our options are: require, recommended, or optional ... I would lean<br>
&gt; &gt; heavily towards optional.<br>
&gt; &gt;<br>
&gt; &gt; If suggested (as noted below) is an available option I would be fine with<br>
&gt; &gt; that designation.<br>
&gt;<br>
&gt; I think the best course of action is to strongly suggest supporting<br>
&gt; all customization features, with one custom menu being required (main<br>
&gt; navigation).<br>
&gt;<br>
&gt; So something like this:<br>
&gt;<br>
&gt; Themes must support the the following customization feature:<br>
&gt;<br>
&gt; Navigation Menu - wp_nav_menu()<br>
&gt; * At least one custom menu should be supported, generally the<br>
&gt; top-level navigation.<br>
&gt;<br>
&gt; Themes are strongly suggested to support the following customization<br>
&gt; features:<br>
&gt;<br>
&gt; Custom Header - add_custom_image_header<br>
&gt; Custom Background - add_custom_background<br>
&gt; Visual Editor CSS - add_editor_style<br>
&gt;<br>
&gt; 3.0 changes like comment_form() are required since it isn&#39;t an<br>
&gt; optional customization, it&#39;s a core part of how themes work.<br>
&gt;<br>
&gt; -Lance<br>
&gt; _______________________________________________<br>
&gt; theme-reviewers mailing list<br>
&gt; <a href="mailto:theme-reviewers@lists.wordpress.org">theme-reviewers@lists.wordpress.org</a><br>
&gt; <a href="http://lists.wordpress.org/mailman/listinfo/theme-reviewers" target="_blank">http://lists.wordpress.org/mailman/listinfo/theme-reviewers</a><br>
</div></div><br>_______________________________________________<br>
theme-reviewers mailing list<br>
<a href="mailto:theme-reviewers@lists.wordpress.org">theme-reviewers@lists.wordpress.org</a><br>
<a href="http://lists.wordpress.org/mailman/listinfo/theme-reviewers" target="_blank">http://lists.wordpress.org/mailman/listinfo/theme-reviewers</a><br>
<br></blockquote></div><br>