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

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

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

8款常用PS滤镜打包下载

 注意,本页内8款滤镜,均不支持 PS CS6-CC , 最高支持到PS CS5 .   如果您需要下载支持CC版本的,请在本站,下载最新发布的那些!   下载包内含如下滤镜:   1、抽出滤镜  &ems...

UPDF,一款专业PDF编辑软件,送PDF密码移除工具

UPDF,一款专业PDF编辑软件,送PDF密码移除工具

UPDF是一款专业的PDF编辑软件,包含了阅读、编辑、转换、注释、页面管理、OCR、表单创建等功能。 立即下载: updf.cn UPDF有哪些核心功能? 一、支持跨端使用,全平台同步文档 UPDF支持Windows、MacOS、iOS、Android平台上使...

音乐雷达Shazam Encore PRO v14.13.0-240216高级版

音乐雷达Shazam Encore PRO v14.13.0-240216高级版

Shazam Encore「音乐雷达」,作为一款全能的音乐追踪应用,为您提供了无与伦比的音乐和娱乐体验。无论您身处何地,无论您的音乐口味如何,只需一瞬间,这款应用就能准确识别出任何歌曲的名称,让您对正在播放的音乐有更全面的了解。这款应用采用的音乐识别技术独具一格,快速而精准,让您的音乐体验变得更加智...

Bandicam(班迪录屏工具)v7.1.0.2125 中文破解版

Bandicam(班迪录屏工具)v7.1.0.2125 中文破解版

Bandicam 7 是知软博客为大家搜集分享的一款功能强大的屏幕录制软件,中文简称“班迪录屏工具”,可以帮助广大用户轻松地记录电脑屏幕、游戏、视频、网络摄像头和其它屏幕上的所有内容。目前,软件可以用于高清游戏录制、视频、网络摄像头和制作教程,从某种意义上来讲,它也是世界上最好的视频录制软件。另外,...

APK逆向修改神器 MT管理器 v2.14.6 正式版

APK逆向修改神器 MT管理器 v2.14.6 正式版

MT管理器2022最新版分享,MT管理器是一款非常实用的手机文件管理工具,界面简洁,功能齐全,操作简单,可以很便捷的帮助用户管理手机文件,欢迎下载使用~ 新版变化 更新记录 | MT管理器 https://mt2.cn/releases/ - 解锁本地永久会员,大部分离线VIP功能免费使用 -...

WPS Office国际版 v18.7.2 Wps安卓版

WPS Office国际版 v18.7.2 Wps安卓版

金山 WPS Office 移动版 是金山公司推出的、运行于Android 平台上的全功能办公软件,国内同类产品排名第一,Google官方Android市场排名领先。用户遍布全球220多个国家和地区。完全兼容桌面办公文档,支持DOC/DOCX/WPS/XLS/XLSX/PPT/PPTX/TXT/PD...

发表评论

访客

看不清,换一张

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