如何为主题添加菜单支持?

时间:2014-02-22 作者:rram

我尝试了一些教程。我想我应该用register_nav_menus() 然后将菜单添加到header.php

下面是我在函数中尝试的代码。此帮助网站本身的php

function my_cool_menu_function(){
  register_nav_menus( array(
    \'primary\' => \'Primary Navigation\'
  ));
}

add_action( \'after_setup_theme\', \'my_cool_menu_function\' );
在标题中。php

<?php wp_nav_menu( array( \'theme_location\' => \'primary\' ) ); ?>
当我试图检查是否有菜单注册了此功能时$locations = get_nav_menu_locations();var_dump($locations);

我得到了大小为零的数组。i、 e未注册菜单。

我错过什么了吗?

我可以在前端看到一些链接,我猜这些都是页面。

我看到了Your theme does not natively support menus, but you can use them in sidebars by adding a “Custom Menu” widget on the Widgets screen.

所以我认为上面的菜单没有注册。

我在这里做错了什么?

我已添加add_theme_support(\'nav-menus\'); 太内functions.php

Updates

我通过插件尝试了上述相同的代码,然后我可以看到菜单。这意味着它不适用于主题功能。php文件。我不知道为什么会这样。

有人知道吗?

3 个回复
SO网友:Joel M

把它放在任何地方(例如functions.php)

add_theme_support( \'menus\' );

SO网友:helgatheviking

的默认回退wp_nav_menu()wp_page_menu(). 因此,如果您没有为特定位置设置菜单,并且由于您没有更改fallback_cb 标题中的参数。php代码,然后您将看到页面列表。此外,您的var_dump 将返回空数组。您需要转到“外观”>“菜单”并创建菜单。然后将其分配到主位置。

enter image description here

SO网友:punk code

尝试初始化

添加\\u操作(“init”,“my\\u cool\\u menu\\u function”);

我做到了,这对我很有用。

干杯

参考号:https://codex.wordpress.org/Navigation_Menus

结束

相关推荐

Slider's missing navigation

我安装了BuddyPress和Easy FancyBox,还安装了carouFredSel滑块(不是WordPress插件)。启用这两个插件后,滑块将停止正常工作(导航项目符号丢失)。这可能是某种jQuery冲突吗?这是标题。php:http://pastebin.com/eBLpFBZ9 下面是带有滑块的页面:http://adamklimowski.pl/chamois/提前感谢您提供的任何帮助。