在我的主题中,有一个导航菜单功能
function ct_nav() {
<nav>
<?php wp_nav_menu( array( 'container_id' => 'nav', 'theme_location' => 'primary') ); ?>
</nav>
}
我怎样才能手动添加更多项目?单独使用此功能。
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');
这是通过更改 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。
只是为了有人需要这个:
可以通过应用过滤器手动添加菜单项:
wp_nav_menu_items
- 适用于所有菜单wp_nav_menu_{$menu->slug}_items
- 对于带有特定 slug 的菜单也可以通过更改items_wrap
,例如,通过在主题中显式删除<ul>
和添加它 - 这样您就可以添加自己的项目。
以上答案都不适合我。这是我使用的一种 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>");
});