WordPress有人登录管理后台时邮件提醒代码,免插件

这个代码之前是在网上找到的然后拿来测试发现只要是网站用户登录成功和失败都会发送邮件到站长这,后面我就加了个判断。

我们首先通过get_user_by函数尝试获取尝试登录的用户的信息。然后,我们检查该用户是否存在,并且是否拥有administrator角色。只有当这两个条件都满足时,才会发送通知邮件。这样,只有当管理员账号登录时,您才会收到通知。

WordPress有人登录管理后台时邮件提醒代码,免插件 第2张插图

如果有人登录了系统,就会发一封邮件到邮箱,提醒你有人登录了,如果当时不是你登录,就要引起警惕了。

有人尝试登陆你的系统,但是没有成功,这种反复尝试的动作本身就需要被记录下来,发给博主,这样,只要有错误的登录,就会发一封邮件到自己的邮箱,将对方尝试的登录名和登录密码发送到你邮箱。

WordPress有人登录管理后台时邮件提醒代码,免插件 第3张插图

[xcxyzm]mVFI[/xcxyzm]

[sv]

登录成功提醒

将以下代码放入主题的functions.php中

/***************************************************** 
 函数作用:有成功登录wp后台就会email通知
******************************************************/  
function notify_admin_login($user_login, $user) {
    date_default_timezone_set('PRC');
    // 检查用户角色是否为管理员
    if (in_array('administrator', $user->roles)) {
        // 设置邮件内容
        $admin_email = get_bloginfo('admin_email');
        $subject = 'WordPress后台登录成功提醒';
        $message = '<p>你好!您的网站(' . get_option("blogname") . ')后台登录成功提醒!</p>' .
                   "<p>登录名:{$user_login}</p>" .
                   "<p>登录时间: " . date("Y-m-d H:i:s") . "</p>" .
                   "<p>登录IP: " . $_SERVER['REMOTE_ADDR'] . "</p>";

        // 设置邮件头部信息
        $from = "From: WordPress Admin <no-reply@" . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME'])) . ">";
        $headers = "$from\nContent-Type: text/html; charset=" . get_option('blog_charset') . "\n";

        // 发送邮件
        wp_mail($admin_email, $subject, $message, $headers);
    }
}

add_action('wp_login', 'notify_admin_login', 10, 2);

登录失败提醒

将以下代码放入主题的functions.php中

/***************************************************** 
 函数作用:有错误登录wp后台就会email通知
******************************************************/  
function notify_admin_login_failed($username) {
    date_default_timezone_set('PRC');
    // 获取网站管理员的电子邮件地址
    $admin_email = get_bloginfo('admin_email');

    // 尝试获取用户信息
    $user = get_user_by('login', $username);

    // 检查用户是否存在且是管理员
    if ($user && in_array('administrator', $user->roles)) {
        // 设置邮件内容
        $subject = 'WordPress后台登录失败提醒';
        $message = '<p>你好!您的网站(' . get_option("blogname") . ')后台登录失败提醒!</p>' .
                   "<p>登录名:{$username}</p>" .
                   "<p>登录时间: " . date("Y-m-d H:i:s") . "</p>" .
                   "<p>登录IP: " . $_SERVER['REMOTE_ADDR'] . "</p>";

        // 设置邮件头部信息
        $from = "From: WordPress Admin <no-reply@" . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME'])) . ">";
        $headers = "$from\nContent-Type: text/html; charset=" . get_option('blog_charset') . "\n";

        // 发送邮件
        wp_mail($admin_email, $subject, $message, $headers);
    }
}

[/sv]

免责声明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!
如若转载,请注明出处:https://www.lewz.cn/wydm/498.html

上一篇 2024-4-24 09:56
下一篇 2024-4-24 11:20

相关推荐

发表评论

为了防止灌水评论,登录后即可评论!

还没有评论,快来抢沙发吧!