php - Wordpress:将自定义 ID 添加到 wp_nav_menu 中的最终 li

标签 php wordpress navigation

我在我的主题中使用了三个主要导航,并且我试图在所有主要导航中放置一个指向带有自定义 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 的情况下完成此操作吗?我可以看到如何更改类(class),但不能更改 ID。我这样做是为了 CSS。

任何帮助将不胜感激!

最佳答案

除了更改 id,您还可以最后插入/注入(inject)另一个 menu item/li 作为自定义菜单项,如下所示

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 中,它就会在您的菜单中添加一个自定义的菜单项。希望这会有所帮助。

还有另一种方法可以使用自定义 walkerhere is a nice example 来更改 menu .

关于php - Wordpress:将自定义 ID 添加到 wp_nav_menu 中的最终 li,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13649844/

相关文章:

php - 将纳秒精度的 ISO8601 日期时间格式化为 d-m-Y H :i:s

php - 使用 php 或 javascript 更改网站 url?

php - 插入mysql数据库修复

php - 使用 PHP 生成 HTML 时处理撇号

javascript - 单击按钮时如何清除标签?

java - 启动时打开抽屉导航

database - WordPress 是否引用主安装文件夹(和数据库)之外的任何文件?

php - 在 WC 3.0+ 的单品页面中显示接近销售价格的折扣百分比

html - 导航和标志同一条线

CSS 标题导航 UL/LI 链接...我做错了什么?