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

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

2年前 (2025-01-11)资源下载600
介绍:该段代码实现了当用户首次登录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用户首次登录强制修改密码” 的相关文章

免费商业字体下载

免费商业字体下载

https://www.100font.com/ 这个网站则是把目前基本所有的可免费商用的字体都给大收集起来了。 看了看,比如大家都很熟悉的思源黑体,还有近年推出的: 阿里巴巴普惠体、OPPO sans、庞门正道标题体、轻松体等等都有 可以看出是在不断更新的。 在首页第一个版...

手机投屏软件 Aiseesoft Phone Mirror v2.2.28 破解版(免激活码)

手机投屏软件 Aiseesoft Phone Mirror v2.2.28 破解版(免激活码)

Aiseesoft Phone Mirror 破解版是知软博客为大家搜集分享的一款功能强大的手机投屏软件,能够帮助用户轻松地将手机的画面投屏到电脑上,并且软件能够同时支持安卓苹果双端。软件可以将 iPhone 和 Android 设备实时镜像到 Windows 计算机,当大家想在更大的屏幕上显示手机...

Spotify v8.9.10.616解锁高级版 for Android

Spotify v8.9.10.616解锁高级版 for Android

Spotify,全球领先的正版音乐流媒体服务平台,提供全球音乐曲库和播客节目。Spotify安卓版,界面简洁,支持中文,拥有精准的推荐算法、独特的无缝切歌功能,支持无声片段剪辑,欧美范专用听歌app。 新版变化 Spotify: Music and Podcasts – Google Play...

Foobar2000汉化版 2.1.2 特别版

Foobar2000汉化版 2.1.2 特别版

Foobar2000是一个Windows 平台下的高级音频播放器.包含了一些播放增益支持、低内存占用等基本特色以及内置支持一些流行的音频格式. 功能特点 内置音频格式支持: WAV, AIFF, VOC, AU, SND,Ogg Vorbis, MPC, MP2, MP3 通过官方插件支持的音频格...

视频录制神器:Bandicam v7.0.1.2132 已授权绿色便携版本

视频录制神器:Bandicam v7.0.1.2132 已授权绿色便携版本

Bandicam,游戏录制工具、视频录制工具、高清视频录制专家,号称世界三大视频录制神器之一!Bandicam是一款由韩国开发的高清游戏及视频录制的电脑工具。它录制的视频文件不仅体积小,而且画质相当清晰,支持H.264预制高清,以较高的压缩率可录制超过分辨率高达2560×1600高画质视频(1080...

防复制文档保护工具 Gilisoft Copy Protect v6.7.0 破解版

防复制文档保护工具 Gilisoft Copy Protect v6.7.0 破解版

Gilisoft Copy Protect 破解版是知软博客为大家搜集分享的一款专业好用的防复制文档保护工具,可以帮助广大用户轻松地保护磁盘本地的音频、视频、PDF、Word、PPT、图片等类型的文件,使其无法通过非法的方式进行复制或分发。目前,软件可以做到复制保护使文件锁定到授权设备,以便无法与他...

发表评论

访客

看不清,换一张

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