在我的Wordpress应用程序中,wp_nav_menu不可见。另一个菜单按预期工作。
这是不可见的:
<?php wp_nav_menu( array('theme_location' => 'mobile_menu', 'container_class'=>'my-mobile-wrapper')); ?>
这是可见的(两者都在header.php中)
<?php wp_nav_menu( array('theme_location' => 'header_menu', 'container_class'=>'header-menu')); ?>
我从某处读到了一条建议,但是将它添加到functions.php并没有用。
add_action( 'pre_get_posts', 'my_pre_get_posts' );
function my_pre_get_posts($query) {
if ($query->get('post_type') === 'nav_menu_item') {
$query->set('tax_query','');
}
}
我注册如下:
if (!function_exists('my_register_menus')) {
function my_register_menus() {
register_nav_menus(
array(
'header_menu' => __('Header Menu', "my"),
'mobile_menu' => __('Mobile Menu', "my")
)
);
}
}
add_action( 'after_setup_theme', 'my_register_menus' );
谢谢你们。
答案 0 :(得分:0)
好的,我找到了答案。
我使用一个函数来扩展菜单内容,我在那时做了结构性错误。我在这里写的是那些可能遇到类似问题的人:
add_filter( 'wp_nav_menu_items', 'my_extend_menu_content', 10, 2 );
function my_extend_menu_content($items, $args){
switch .... for menus other than mobile.
// After the switch block:
return false; // which is wrong.
return $items; // should be this way.
}