WordPress – 防止用户在登录页面重复点击登录按钮造成重复登录
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:WordPress – 防止用户在登录页面重复点击登录按钮造成重复登录
原文链接:https://www.stubbornhuang.com/2155/
发布于:2022年06月05日 15:48:38
修改于:2022年06月05日 15:49:57
1 WordPress防止用户在登录页面重复点击登录按钮
因为在之前在用户登录钩子wp_login
中增加了当用户登录时会发送通知邮件给我,这就造成了登录时会发送邮件,最终导致登录的时间的比较长。有些用户在点击登录按钮之后因为长时间没有登录成功,误以为没有点击到登录按钮,所以会重复点击登录按钮造成重复登录。
为了解决这一问题,决定在登录页面当用户重复点击登录按钮时弹出提示框告知用户耐心等待,直接在主题的function.php
中加入以下代码即可:
add_action( 'login_form', 'stubbornhuang_prevent_repeated_click_login_button' );
function stubbornhuang_prevent_repeated_click_login_button(){
?>
<script>
function isEmpty(obj)
{
for(let key in obj){
return false;
}
return true;
}
var is_can_click = true;
window.onload=function(){
var wp_submit = document.getElementById("wp-submit");
if(!isEmpty(wp_submit))
{
wp_submit.onclick = function () {
if(is_can_click)
{
is_can_click = false;
setTimeout(function() {
is_can_click = true;
}, 1000);//一秒内不能重复点击
}
else
{
alert("请不要重复点击登录按钮,耐心等待登录成功!");
}
}
}
}
</script>
<?php
}
上述代码直接使用login_form
钩子在页面中嵌入js脚本,在js脚本中获取登录提交按钮,增加该按钮的点击响应逻辑,在一秒钟之内不能重复点击按钮,如果重复点击了则弹出提示。
当前分类随机文章推荐
- WordPress - 修复Markdown编辑器插件WP-Editor.md在插入php代码块后代码中的$符号无法正常显示的问题 阅读1253次,点赞0次
- WordPress - 支持用户注册时使用中文名 阅读1996次,点赞0次
- WordPress - 在用户注册页面显示自定义提示信息 阅读1560次,点赞0次
- WordPress - get_sidebar函数,加载主题侧边栏模板 阅读935次,点赞0次
- WordPress - get_edit_post_link函数详解 阅读1126次,点赞0次
- WordPress - 为文章添加自定义字段,在文章编辑页面增加编辑面板 阅读44次,点赞0次
- WordPress - get_footer函数,加载主题底部页脚footer模板 阅读858次,点赞0次
- WordPress - WordPress升级5.8之后获取最新评论的代码失效问题解决 阅读1561次,点赞0次
- WordPress - 防止用户在登录页面重复点击登录按钮造成重复登录 阅读700次,点赞0次
- WordPress - Windows使用PhpStudy本地部署WordPress 阅读3800次,点赞0次
全站随机文章推荐
- Python - 读取视频为numpy数组以及将numpy数组转换为视频 阅读1801次,点赞0次
- C++ - 使用Websocket++编写客户端连接WebSocket服务器并进行通信 阅读4365次,点赞3次
- C++ - 随机洗牌算法,std::random_shuffle和std::shuffle 阅读1578次,点赞2次
- C++11/std::shared_ptr - 循环引用问题 阅读4154次,点赞0次
- C++ - 在某一天某个时间点定时执行任务,比如2022年9月19日晚上9点准点执行发送邮件函数 阅读450次,点赞0次
- Centos7 编译C++项目错误解决 : terminate called after throwing an instance of 'std::regex_error' 阅读2580次,点赞1次
- C++11 - 委托机制的实现TinyDelegate 阅读1472次,点赞0次
- 资源分享 - 3D Game Engine Design - A Practical Approach to Real-Time Computer Graphics 英文高清PDF下载 阅读1371次,点赞0次
- TensorRT - 解决INVALID_ARGUMENT: getPluginCreator could not find plugin ScatterND version 1,TensorRT找不到ScatterND插件的问题 阅读3894次,点赞0次
- 资源分享 - Physics for Game Programmers 英文高清PDF下载 阅读1960次,点赞0次
评论
169