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

Posted in:
Update time:2020-10-27

函数描述

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

function parameter

parametersdata typedescriptive
$itemsstring (computer science)菜单项目的 HTML 列表内容。
$argsstdClass包含 wp_nav_menu() 的对象。

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

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

usage example

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

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

    return $items;
}, 10, 2);

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

We offer WordPress Themes and Plugins Custom Development Services

This site has long undertaken WordPress themes, plugins, WooCommerce-based store mall development business. We have 10 years of experience in WordPress development, if you want to Developing Websites with WordPress, please contact WeChat: iwillhappy1314 or email: amos@wpcio.com for inquiries.

发表回复

Your email address will not be published. 必填项已用 * 标注

*