在我的主题还有用于导航菜单Wordpress。手动添加菜单项wp_nav_menu
function ct_nav() {
<nav>
<?php wp_nav_menu(array('container_id' => 'nav', 'theme_location' => 'primary')); ?>
</nav>
}
功能我如何可以手动添加更多的项目?单独使用此功能。
在我的主题还有用于导航菜单Wordpress。手动添加菜单项wp_nav_menu
function ct_nav() {
<nav>
<?php wp_nav_menu(array('container_id' => 'nav', 'theme_location' => 'primary')); ?>
</nav>
}
功能我如何可以手动添加更多的项目?单独使用此功能。
只是为了以防万一有人需要这样的:
菜单项可以手动通过应用过滤器可以添加:
wp_nav_menu_items
- 所有菜单wp_nav_menu_{$menu->slug}_items
- 菜单特别蛞蝓还通过更改items_wrap
,例如,通过删除<ul>
并明确将其添加到主题 - 这样你就可以添加自己的项目。
这需要一个菜单已经分配给menu_location。有没有办法做到这一点,没有分配菜单(在外观>菜单)。这对我正在做的多点工作很有帮助。 – raison
这里是一个通过改变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。
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');
这绝对是最好的解决方案。 –
谢谢@JasonGlisson –
以上答案都不适用于我。这是我使用的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>");
});
为什么不在函数调用后自己添加标记? –
是的,我不明白你的意思,你可以在上面的标记中手动添加项目?你想要添加什么? – csilk