统计
  • 建站日期:2021-03-10
  • 文章总数:673 篇
  • 评论总数:946 条
  • 分类总数:14 个
  • 最后更新:6月23日
文章 技术教程

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

安小熙
首页 技术教程 正文
广告

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

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


WordPress有人登录管理后台时邮件提醒代码
-安小熙博客
-第1
张图片
如果有人登录了系统,就会发一封邮件到邮箱,提醒你有人登录了,如果当时不是你登录,就要引起警惕了。将以下代码放入主题的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 = "$fromnContent-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);

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

WordPress有人登录管理后台时邮件提醒代码
-安小熙博客
-第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 = "$fromnContent-Type: text/html; charset=" . get_option('blog_charset') . "n";
        // 发送邮件
        wp_mail($admin_email, $subject, $message, $headers);
    }

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

poetize最美个人博客开源系统
« 上一篇
技术导航二开美化开源网站源码,提交自动秒收录
下一篇 »
为了防止灌水评论,登录后即可评论!

HI ! 请登录
注册会员,享受下载全站资源特权。

🔎百度一下

帮忙seo优化一下吧

☁天气预报

标签

最新文章