当前位置:首页 > 资源下载 > WordPress用户首次登录强制修改密码

WordPress用户首次登录强制修改密码

2年前 (2025-01-11)资源下载760
介绍:该段代码实现了当用户首次登录WordPress时需要强制修改密码的功能。代码通过设置首次登录标记和检查标记来实现,用户首次登录后会被重定向到指定页面,直至修改密码。修改密码后首次登录标记会被清除。这段代码需要添加到WordPress主题的functions.php文件中。

有些企业网站要求很高,比如用户首次登录强制要求修改密码,这里提供一段代码,用于实现强制修改密码供参考。

通过代码可以实现,用户正常注册或者管理员在后台添加用户时,会添加首次登录标记,用户首次登录后会跳转到指定页面,如果不修改密码,访问网站也会跳转,直至修改过一次密码,清除首次登录标记。

将代码添加到主题函数模板functions.php中:

{hide}

// 用户注册或创建时添加首次登录标记first_login
add_action( 'user_register', 'set_first_login_meta' );
function set_first_login_meta($user_id) {
    update_user_meta($user_id, 'first_login', 'yes');
}
 
// 用户登录检查标记first_login
add_action( 'wp_login', 'set_first_login_meta_on_login', 10, 2 );
function set_first_login_meta_on_login( $user_login, $user ) {
    // 用户是否有标记
    $is_first_login = get_user_meta( $user->ID, 'first_login', true );
 
    if ( ! $is_first_login ) {
        // 如果不是首次登录,直接返回
        return;
    }
}
 
// 登录时检测首次登录标记并跳转
add_action( 'template_redirect', 'redirect_first_time_user' );
function redirect_first_time_user() {
    // 获取当前用户
    if ( is_user_logged_in() ) {
        $user = wp_get_current_user();
 
        // 获取用户的首次登录标记
        $is_first_login = get_user_meta( $user->ID, 'first_login', true );
 
        // 如果是首次登录且标记存在
        if ( $is_first_login === 'yes' ) {
            // 跳转到指定页面,例如 /wp-admin/profile.php
            if ( ! is_page( 'wp-admin/profile.php' ) ) {  // 不在指定页面时跳转
                wp_redirect( home_url( '/wp-admin/profile.php' ) );  // 修改跳转页面
                exit;
            }
        }
    }
}
 
// 用户修改密码时,清除首次登录标记
add_action( 'profile_update', 'clear_first_login_meta_on_password_change', 10, 2 );
function clear_first_login_meta_on_password_change( $user_id, $old_user_data ) {
    // 检查密码是否发生了变化
    if ( ! empty( $_POST['pass1'] ) && $_POST['pass1'] !== '' ) {
        // 清除首次登录标记
        delete_user_meta( $user_id, 'first_login' );
    }
}

{/hide}

文章来源:https://www.xyjzy.com/archives/4983.html

扫描二维码推送至手机访问。

欢迎转载或分享本篇文章。

本文链接:https://www.jcba123.com/article/11087

分享给朋友:

“WordPress用户首次登录强制修改密码” 的相关文章

推荐一款属于浙江省临海市的城市字体——临海隶书字体(可免费商用)

推荐一款属于浙江省临海市的城市字体——临海隶书字体(可免费商用)

临海隶书是本月最新发布的艺术字体,由乡立方字体团队和临海社发集团联手打造,旨在深入挖掘临海文化内涵,推出具有城市特色的专属字体。为了让更多人了解临海、认识临海并深入了解临海,字体被视为文化传承的标志和传播文化的基础元素。 临海隶书字体免费商用说明 临海隶书字体是由乡立方字体团队和临海社发...

视频无损剪辑器 Avidemux v2.8.2 多语言便捷版

视频无损剪辑器 Avidemux v2.8.2 多语言便捷版

Avidemux便捷版是知软博客为大家搜集分享的一款简单好用的视频无损剪辑器,可以帮助广大用户对磁盘本地的视频文件进行剪辑的操作。目前,软件能够支持多种文件类型,包括:AVI、DVD 兼容的 MPEG 文件、MP4 和 ASF 等。此外,软件使用各种编解码器,可以使用项目、作业队列和强大的脚本功能自...

电子书阅读器 Icecream Ebook Reader v6.47.0 破解版

电子书阅读器 Icecream Ebook Reader v6.47.0 破解版

Icecream Ebook Reader 破解版是知软博客为大家搜集分享的一款专业好用的电子书阅读器,中文简称“冰淇淋电子书阅读器”,可以帮助广大用户阅读包括:EPUB、DJVU、MOBI 等常见电子书格式。目前,软件为大家提供了很不错的阅读体验,还可以让你添加在线的电子书库,无需打开浏览器也可以...

数据备份软件 ASCOMP BackUp Maker v8.304 多语言绿色版

数据备份软件 ASCOMP BackUp Maker v8.304 多语言绿色版

ASCOMP BackUp Maker 绿色版是知软博客为大家搜集分享的一款专业好用的数据备份软件,可以帮助广大用户以简单的方式,对所需的数据进行备份操作。目前,软件可在本机、FTP 服务器和刻录机间进行数据备份和恢复,并能对备份数据进行加密和刻录,同时软件内嵌有 FTP 上传、下载功能。此外,这款...

KMS服务清理工具 KMS Cleaner v2.5.1 单文件版

KMS服务清理工具 KMS Cleaner v2.5.1 单文件版

KMS Cleaner 单文件版是知软博客为大家搜集分享的一款专业小巧的 KMS 服务一键清理工具,可以帮助广大用户轻松地解决 KMS 出现的激活失败问题,帮助您清理掉不需要的垃圾信息,给电脑一个清爽的运行环境。目前,软件的操作非常简单,无需其它任意的菜单设置,只需点击清理按钮即可自动扫描系统上剩余...

数据分析软件 GraphPad Prism 破解版激活安装教程

数据分析软件 GraphPad Prism 破解版激活安装教程

GraphPad Prism 破解版是一款统计分析与绘图软件,广泛应用于生命科学研究领域。它提供了直观易用的界面和强大的功能,使得科研人员能够轻松地进行数据分析、绘制高质量的图表和生成统计报告。目前关于这样软件的安装,很多的用户都不知道如何去激活/破解。所以,在本期的内容当中,就给大家带来全新的破解...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。