学习定有收获
努力成为大神

WordPress 菜单指定位置添加登录链接代码解析

WordPress 原创插件 国人习惯、简约实用、容易上手【点击了解】

// 在 WordPress 菜单中指定位置添加登录链接
function add_login_link_to_menu( $items, $args ) {
    // 确保是前台菜单
    if ( $args->theme_location == 'nav' ) { // 这里 'nav' 是菜单的位置,你可以根据实际情况修改
        $login_link = '<li><a href="#" class="trigger-login-popup">注册登录</a></li>';
        $insert_position = 2; // 你可以修改这个值来指定插入位置,从 1 开始计数

        $menu_items = explode('</li>', $items);
        array_splice($menu_items, $insert_position, 0, $login_link);
        $items = implode('</li>', $menu_items);
    }
    return $items;
}
add_filter( 'wp_nav_menu_items', 'add_login_link_to_menu', 10, 2 );

代码注释

// 在 WordPress 菜单中指定位置添加登录链接
// 定义一个名为 add_login_link_to_menu 的函数,该函数会接收两个参数:$items 代表当前菜单的 HTML 代码,$args 包含菜单的相关设置信息
function add_login_link_to_menu( $items, $args ) {
    // 确保是前台菜单
    // 检查当前处理的菜单是否为主题中名为 'nav' 的菜单位置,你可根据实际情况修改 'nav' 为其他菜单位置名称
    if ( $args->theme_location == 'nav' ) { 
        // 定义登录链接的 HTML 代码
        // 创建一个列表项 <li>,里面包含一个超链接 <a>,该链接文本为“注册登录”,点击可能触发登录弹出窗口
        $login_link = '<li><a href="#" class="trigger-login-popup">注册登录</a></li>';
        // 指定插入位置
        // 设置登录链接要插入的菜单位置,从 1 开始计数,你可以修改这个值来调整插入位置
        $insert_position = 2; 

        // 将菜单 HTML 代码分割成数组
        // 使用 explode 函数把 $items 字符串按 '</li>' 分割成数组 $menu_items,数组元素为各个菜单项(不含 '</li>')
        $menu_items = explode('</li>', $items);
        // 在指定位置插入登录链接
        // 利用 array_splice 函数在 $menu_items 数组的指定位置($insert_position)插入登录链接 HTML 代码,不删除原元素
        array_splice($menu_items, $insert_position, 0, $login_link);
        // 将数组重新组合成字符串
        // 使用 implode 函数,以 '</li>' 为连接符,把 $menu_items 数组元素组合成新的菜单 HTML 代码字符串 $items
        $items = implode('</li>', $menu_items);
    }
    // 返回修改后的菜单 HTML 代码
    // 把处理后的菜单 HTML 代码返回,WordPress 会使用这个新代码来显示菜单
    return $items;
}
// 应用过滤器
// add_filter 函数用于添加一个过滤器,当 WordPress 生成菜单 HTML 代码时会触发 'wp_nav_menu_items' 过滤器
// 并调用 add_login_link_to_menu 函数对菜单进行修改。10 是过滤器的优先级,2 表示传递给函数的参数数量
add_filter( 'wp_nav_menu_items', 'add_login_link_to_menu', 10, 2 );
内容仅供参考:大神建站 - WordPress插件开发 » WordPress 菜单指定位置添加登录链接代码解析

评论 2

  1. #-9

    内容新颖得像新奇的发明,超有趣!

  2. #-8

    打卡,好文别错过,不然会 “拍大腿” 后悔!

登录

找回密码

注册