前几天我更新到WP 4.0,发现我的菜单正在使用第一个字母菜单。我做了一些搜索,发现很多其他人都有同样的问题。到目前为止,我在这个问题上看到的唯一答案是:
http://wordpress.org/support/topic/wp-40-broke-main-menu?replies=25
用户“lblechl”写道“验证您发送给wp_nav_menu的参数数组不包含任何尾随字符,额外的逗号,不正确的参数等。”
我查看了我的主题,并将其与Bones Development Theme的原始版本进行了比较,但我似乎无法看到问题所在。还有其他人经历过这个吗?
这是我正在使用的代码:
// REGISTERING THE MENU
function bones_theme_support() {
register_nav_menus(
array(
'mobile-nav' => __( 'The Mobile Menu', 'bonestheme' ) // main nav in header
)
);
}
// END REGISTERING THE MENU
// THE MENU
function bones_mobile_nav() {
wp_nav_menu(array(
'container' => false, // remove nav container
'container_class' => '', // class of container (should you choose to use it)
'menu' => __( 'The Mobile Menu', 'bonestheme' ), // nav name
'menu_class' => '', // adding custom nav class
'theme_location' => '', // where it's located in the theme
'before' => '', // before the menu
'after' => '', // after the menu
'link_before' => '', // before each link
'link_after' => '', // after each link
'depth' => 0, // limit the depth of the nav
'fallback_cb' => 'bones_mobile_nav_fallback' // fallback function
));
}
/* END THE MENU */
// THE FALLBACK
function bones_mobile_nav_fallback() {
wp_page_menu( array(
'show_home' => true,
'menu_class' => '', // adding custom nav class
'include' => '',
'exclude' => '',
'echo' => true,
'link_before' => '', // before each link
'link_after' => '' // after each link
) );
}
/* END THE FALLBACK */
答案 0 :(得分:0)
首先,我尝试将wp_nav_menu()中的'menu'键设置为$ location和$ description,如下所示:
// Registering the menu:
register_nav_menu( 'my_menu', 'My Menu');
// Inside the view I tried with the $location:
wp_nav_menu(array('menu' => 'my_menu'))
// and with the $description:
wp_nav_menu(array('menu' => 'My Menu'))
在我尝试使用您设置的菜单名称之前,两者都没有工作:
yoursite.com/wp-admin/nav-menus.php
假设我将菜单名称设置为“示例菜单”
然后,在视图中将菜单值替换为您之前设置的菜单名称(yoursite.com/wp-admin/nav-menus.php):
wp_nav_menu(array('menu' => 'Example Menu'))
这让我思考,我可能没有正确理解文档,因为我认为你可以在wp_nav_menu()中使用revister_nav_menu()中的$ location和$ description。
希望这有帮助。
编辑:在你的情况下,我看到你在菜单键中使用本地化助手“__()”,我不知道WP内部是否有特殊用途,但我的猜测是你不应该使用它:
function bones_mobile_nav() {
wp_nav_menu(array(
//...
// This is how you are doing it:
'menu' => __( 'The Mobile Menu', 'bonestheme' ),
//The value should be the string set in yoursite.com/wp-admin/nav-menus.php:
'menu' => 'Example Menu',
//...
));
}
答案 1 :(得分:0)
这是' lblechl'来自您提到的WP论坛。
使用提供的代码,我注意到register_nav_menus调用包含在一个函数中。代码中的任何内容都调用了bones_theme_support函数吗?如果没有,你将不得不在加载主题时将该函数挂钩。
另外,请验证“移动设置”菜单'是创建的菜单的确切名称。
如果这些内容似乎都符合规定并且您仍然遇到问题,请随时向我发布更多详细信息。