10

在我的主题中,有一个导航菜单功能

function ct_nav() {
  <nav>
     <?php wp_nav_menu( array( 'container_id' => 'nav', 'theme_location' => 'primary') ); ?>
  </nav>
}

我怎样才能手动添加更多项目?单独使用此功能。

4

4 回答 4

27
function add_last_nav_item($items) {
  return $items .= '<li><a href="#myModal" role="button" data-toggle="modal">Contact</a></li>';
}
add_filter('wp_nav_menu_items','add_last_nav_item');
于 2015-04-28T22:57:40.540 回答
24

这是通过更改 items_wrap 的示例。

wp_nav_menu( array( 'items_wrap' => '<ul id="%1$s" class="%2$s"><li><a href="http://www.google.com">go to google</a></li>%3$s</ul>' ) );

只是采用默认值并添加了 href。

于 2013-06-20T19:08:29.923 回答
4

只是为了有人需要这个:

可以通过应用过滤器手动添加菜单项:

  • wp_nav_menu_items- 适用于所有菜单
  • wp_nav_menu_{$menu->slug}_items- 对于带有特定 slug 的菜单

也可以通过更改items_wrap,例如,通过在主题中显式删除<ul>和添加它 - 这样您就可以添加自己的项目。

于 2013-03-23T11:21:08.563 回答
1

以上答案都不适合我。这是我使用的一种 jquery 类型的解决方法。我需要在菜单末尾添加一张图片。

正常使用 wp_nav_menu(),请务必在 menu_class 中指定一个类,或者您可以指定一个 ID。

$items = array(
    'theme_location'  => 'header-menu',
    'menu'            => '',
    'container'       => 'div',
    'container_class' => 'menu-{menu slug}-container',
    'container_id'    => '',
    'menu_class'      => 'menuContainer', /* important, since we're targetting it with jquery*/
    'menu_id'         => '',
    'echo'            => true,
    'fallback_cb'     => 'wp_page_menu',
    'before'          => '',
    'after'           => '',
    'link_before'     => '',
    'link_after'      => '',
    'depth'           => 0,
    'walker'          => ''
);
wp_nav_menu($items);

$( document ).ready(function() {
            $(".menuContainer ul").append("<li><img src='<?php echo  get_template_directory_uri(); ?>/img/menuImage.png'></li>");
        });
于 2015-06-19T13:39:37.037 回答