我可以通过脚本将页面添加到我的自定义菜单中吗?

时间:2011-03-26 作者:Scott B

我的主题有一个自定义菜单分配。。。

function my_register_my_menus() {
  register_nav_menus(
    array(\'header-menu\' => __( \'Custom Header Menu\' ) )
  );
}
。。。我正在创建一个“安装程序”类型的插件,激活后,我想挂接到这个自定义菜单,并为其分配一些页面,就像它们是手动创建的一样。

然而,菜单API是相当新的,到目前为止,我还没有找到任何如何做到这一点的例子。

我希望这里的人能给我一些关于如何做的方向、例子或信息。

提前感谢:-)

1 个回复
最合适的回答,由SO网友:Bainternet 整理而成

您可以使用wp_nav_menu_{$menu->slug}_items 钩住并添加您与回调函数的链接,例如,如果您的菜单slug是header-menu 然后是这样的:

add_filter(\'wp_nav_menu_header-menu_items\', \'add_my_extra_links\',10,2);
function add_my_extra_links($items, $args) {
  $newitems = \'<li><a title="Test Link" href="http://google.com">Google</a></li>\';
  $newitems .= \'<li><a title="Test Link" href="http://yahoo.com">Yahoo</a></li>\';
  $newitems .= \'<li><a title="Test Link" href="http://bing.com">Bing</a></li>\';
  $newitems .= $items;
  return $newitems;
}
更新我想你需要打电话wp_save_nav_menu_items 这是用于将菜单项保存到数据库的函数。

结束

相关推荐

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