函数描述
修改导航菜单的HTML列表内容。
函数参数
参数 | 数据类型 | 描述 |
---|---|---|
$items | 字符串 | 菜单项目的 HTML 列表内容。 |
$args | stdClass | 包含 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,来输出我们需要的菜单内容。