函数描述
修改导航菜单的HTML列表内容。
参数
$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="'%20.%20home_url('account')%20.%20'">My Account</a></li>';
} else {
$items .= '<li><a href="'%20.%20home_url('login')%20.%20'">Login</a></li>';
}
return $items;
}, 10, 2);
除了添加菜单项目,我们还可以根据需要,修改菜单项目的 HTML,来输出我们需要的菜单内容。