wp_nav_menu_items 修改导航菜单项目的 HTML 内容

发布于:
更新时间:2020-10-27

函数描述

修改导航菜单的HTML列表内容。

函数参数

参数数据类型描述
$items字符串菜单项目的 HTML 列表内容。
$argsstdClass包含 wp_nav_menu() 的对象。

$items:(字符串) 菜单项目的 HTML 列表内容。

$args:(stdClass) 包含 wp_nav_menu() 的对象。

使用示例

假如,我们需要添加一个「登录/我的账户链接」到导航菜单,因为我们要根据用户登录状态判断显示的菜单链接,直接在后台菜单管理页面中添加肯定是无法实现的。通过本文介绍的 Filter,我们可以通过下面的代码实现此功能。

add_filter('wp_nav_menu_items', function ($items, $args)
{
    if (is_user_logged_in()) {
        $items .= '<li><a href="' . home_url('account') . '">My Account</a></li>';
    } else {
        $items .= '<li><a href="' . home_url('login') . '">Login</a></li>';
    }

    return $items;
}, 10, 2);

除了添加菜单项目,我们还可以根据需要,修改菜单项目的 HTML,来输出我们需要的菜单内容。

我们提供 WordPress主题和插件定制开发服务

本站长期承接 WordPress主题、插件、基于 WooCommerce 的商店商城开发业务。 我们有 10 年WordPress开发经验,如果你想 用WordPress开发网站, 请联系微信: iwillhappy1314,或邮箱: amos@wpcio.com 咨询。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

*