[英]Wordpress: Add custom ID to final li in wp_nav_menu
我在我的主题中使用了三个主要导航,我试图在所有主要导航中使用自定义 ID 放置指向菜单的最终链接。
这就是我要去的:
<nav id="menu" role="navigation" class="menu-primary">
<ul id="nav" class="menu">
<li id="menu-item-418" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-418"><a href="#">About</a></li>
<li id="menu-item-474" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-474"><a href="#">Work</a></li>
<li id="menu-item-463" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-463"><a href="#">Blog</a></li>
<li id="menu-item-416" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-416"><a href="#">Contact</a></li>
<li id="back" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-491"><href="#header">back</a></li>
</ul>
</nav>
如您所见,最后一个 li 的 ID 为 'back'。 知道如何在不使用 js 的情况下完成此任务吗? 我可以看到如何更改课程,但不能更改 ID。 我这样做是为了 CSS 的目的。
任何帮助将不胜感激!
您可以最后插入/注入另一个menu item/li
作为自定义菜单项,而不是更改id
,如下所示
add_filter( 'wp_nav_menu_items', 'your_custom_menu_item');
function your_custom_menu_item ($items)
{
$items .= '<li id="back" class="what-ever"><a href="#">Back</a></li>';
return $items;
}
只需将代码片段粘贴到您的functions.php
,它就会在您的菜单中添加一个自定义menu item
。 希望这可以帮助。
还有另一种使用自定义walker
更改menu
方法, 这是一个很好的示例。
如果您使用wp_nav_menu
,那么最好的方法是使用 Wordpress 提供的类。 我认为没有办法将特定的 id 添加到菜单项。
除非你用jQuery来做这件事......
您将需要使用 JS/jQuery 来执行此操作。 WordPress 菜单是动态编写的,您不能只是进入主题文件并编辑 li 的。
如果您的菜单不在同一页面上,那么您可以使用 ID 和第一个示例。 您需要将每个菜单的 #nav 更改为 UL 的 ID,并重复该行 3 次,每个菜单一次。
$(document).ready(function() {
$('#nav li').last().attr('id', 'back');
});
如果您的菜单在同一页面上,您将需要使用如下所示的类。 您需要将每个菜单的 #nav 更改为 UL 的 ID,并重复该行 3 次,每个菜单一次。 除非所有菜单在 UL 上都有一个类,在这种情况下,您可以只使用$('#classNameHere li').last().addClass('back');
.
$(document).ready(function() {
$('#nav li').last().addClass('back');
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.