Custom menus not showing

时间:2012-03-03 作者:php-b-grader

作为我上一次关于菜单的未解决查询的后续,这个问题已经进一步扩展。

我的菜单没有打印代码中的任何地方。

我正在注册菜单功能。php:

add_action( \'after_setup_theme\', \'your_newtheme_setup\' );

if ( ! function_exists( \'your_newtheme_setup\' ) ) :

    function your_newtheme_setup() {

        if (function_exists(\'register_nav_menu\')) {
            register_nav_menus(
                array(
                    \'main-menu\' => \'Main Menu\',
                    \'footer-menu\' => \'Footer Menu\',
                    \'products-menu\' => \'Products Menu\',
                    \'legal-menu\' => \'Legal Menu\'
            ));
        }
    }

endif;
然后我调用标题中的菜单。php:

wp_nav_menu( array( \'theme_location\' => \'main-menu\' ) ); 
这导致未打印任何内容!

我还试图在侧边栏的页脚中包含菜单。php中,我使用“自定义菜单”小部件创建了一个小部件,并创建了3个自定义菜单:页脚菜单、产品菜单和;合法菜单,而且没有任何菜单被打印!

小部件至少打印小部件的标题,但菜单本身不会生成任何内容!

这显然是我主题中所有菜单的问题,我似乎无法解决!

重要提示:我使用wordpress文档中的以下代码手动构建了主菜单:

            $menu_name = \'main-menu\';

            if ( ( $locations = get_nav_menu_locations() ) && isset( $locations[ $menu_name ] ) ) {

                $menu = wp_get_nav_menu_object( $locations[ $menu_name ] );

                $menu_items = wp_get_nav_menu_items($menu->term_id);

                $menu_list = \'<ul id="\' . $menu_name . \'">\';

                foreach ( (array) $menu_items as $key => $menu_item ) {
                    $title = $menu_item->title;
                    $url = $menu_item->url;
                    $menu_list .= \'<li><a href="\' . $url . \'">\' . $title . \'</a></li>\';
                }
                $menu_list .= \'</ul>\';
            } else {
                $menu_list = \'<ul><li>No Menu</li></ul>\';
            }
            echo $menu_list;
        ?>
其他信息:

我在函数wp\\u nav\\u menu()中进行了一些调试,发现菜单项在调用过程中消失:

$items = apply_filters( \'wp_nav_menu_items\', $items, $args );
文件:nav菜单模板中的第223行(或大约223行)。php

1 个回复
最合适的回答,由SO网友:php-b-grader 整理而成

事实证明,在从另一篇文章复制了一些代码之后(http://stackoverflow.com/questions/9439877/adding-menu-items-in-wordpress)对于函数中的筛选器。php在nav菜单中添加搜索栏,当它与菜单不匹配时,它什么也不返回(即删除$项),我愚蠢地在没有测试的情况下复制了这段代码。。。这一直是个问题!

结束

相关推荐

Menu API not switching menus?

我正在使用菜单API,我想切换到其他菜单,但出于某种原因,它保留了第一个菜单这是我的密码在函数中。php add_action( \'init\', \'register_my_menus\',10 ); function register_my_menus() { register_nav_menu(\'main-navigation\', \'Main Navigation\'); } 下面是我的主题文件(header.ph