Wordpress-用户注册前的验证数据挂钩
我想知道是否有wordpress钩子来检查自定义输入字段。当我添加新用户和更新现有用户时 如果任何字段无效,我不希望创建用户 如果(!is_numeric($_POST['phone_number'))$errors->add('ERROR 0001','Invalid phone number!')) 如果存在,它是否与Wordpress Multisite兼容Wordpress-用户注册前的验证数据挂钩,wordpress,Wordpress,我想知道是否有wordpress钩子来检查自定义输入字段。当我添加新用户和更新现有用户时 如果任何字段无效,我不希望创建用户 如果(!is_numeric($_POST['phone_number'))$errors->add('ERROR 0001','Invalid phone number!')) 如果存在,它是否与Wordpress Multisite兼容 谢谢。在wordpress中添加用户已经进行了验证,但仍然没有对名字、姓氏和网站进行验证 这可以通过以下方式实现 试试这个验证, 制
谢谢。在wordpress中添加用户已经进行了验证,但仍然没有对名字、姓氏和网站进行验证 这可以通过以下方式实现 试试这个验证, 制作插件并添加jquery和样式将仅在管理员部分运行 现在在脚本文件中
<script>
jquery(document).ready(function(){
var firstname=/^([a-zA-Z]{3,16})$/;
var lastname=/^([a-zA-Z]{3,16})$/;
var website=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
$('.fname').on('keypress keydown keyup',function(){
if (!$(this).val().match(firstname)) {
$('.fname').removeClass('hidden');
$('.fname').addClass('warn');
}
else{
$('.fname').removeClass('warn');
$('.fname').addClass('hidden');
}
$('.fname').show();
});
$('.lname').on('keypress keydown keyup',function(){
if (!$(this).val().match(lastname)) {
$('.lname').removeClass('hidden');
$('.lname').addClass('warn');
}
else{
$('.lname').removeClass('warn');
$('.lname').addClass('hidden');
}
$('.lname').show();
});
$('.eemail').on('keypress keydown keyup',function(){
if (!$(this).val().match(website)) {
$('.eemail').removeClass('hidden');
$('.eemail').addClass('warn');
}
else{
$('.eemail').removeClass('warn');
$('.eemail').addClass('hidden');
}
$('.eemail').show();
});
$('.btn-1').click(function(){
if ( !$('.fname').hasClass('hidden') || !$('.eemail').hasClass('hidden') || !$('.lname').hasClass('hidden')) {
alert("Please check if any field is invalid!!");
}
});
});
</script>
in css file
<style type="text/css">
.warn {
color: red;
font-weight: bold;
border: 2px solid red;
background-color: #fcc;
}
.hidden {
visibility:hidden;
}
.validationError {
border: solid 2px red;
}
.validationValid {
border: solid 2px green;
}
</style>
jquery(文档).ready(函数(){
var firstname=/^([a-zA-Z]{3,16})$/;
var lastname=/^([a-zA-Z]{3,16})$/;
var网站=/^\w+([\.-]?\w+*@\w+([\.-]?\w+*(\.\w{2,3})+$/;
$('.fname').on('keypress-keydown-keydup',function()){
if(!$(this).val().match(firstname)){
$('.fname').removeClass('hidden');
$('.fname').addClass('warn');
}
否则{
$('.fname').removeClass('warn');
$('.fname').addClass('hidden');
}
$('.fname').show();
});
$('.lname').on('keypress-keydown-keydup',function()){
if(!$(this).val().match(lastname)){
$('.lname').removeClass('hidden');
$('.lname').addClass('warn');
}
否则{
$('.lname').removeClass('warn');
$('.lname').addClass('hidden');
}
$('.lname').show();
});
$('.eemail').on('keypress-keydown-keydup',function()){
if(!$(this.val().match(网站)){
$('.eemail').removeClass('hidden');
$('.eemail').addClass('warn');
}
否则{
$('.eemail').removeClass('warn');
$('.eemail').addClass('hidden');
}
$('.eemail').show();
});
$('.btn-1')。单击(函数(){
if(!$('.fname').hasClass('hidden')| | |!$('.eemail').hasClass('hidden')| | |!$('.lname').hasClass('hidden')){
警告(“请检查任何字段是否无效!!”;
}
});
});
在css文件中
.警告{
颜色:红色;
字体大小:粗体;
边框:2倍纯红;
背景色:#fcc;
}
.隐藏{
可见性:隐藏;
}
.验证错误{
边框:实心2px红色;
}
.validationValid{
边框:实心2倍绿色;
}
目前,我正在为一个大型定制项目开发自定义注册、登录、网络范围的用户配置文件(一个博客和共享)等。在这个过程中,我有很多个不眠之夜在想这样的事情。最后,我完成了自定义服务器端验证,该验证通过ajax调用从前端触发。所以,当您键入时,验证在前端工作,但即使用户禁用了javascript,他也会得到普通的提交和服务器端验证(这很容易做到)
检查GET/POST提交数据的最佳钩子是init
——它总是运行,而且运行得很早(在发送任何头或输出之前)。对于更具体的任务,您可能需要稍后运行的其他挂钩-插件加载
,注册错误
更多信息请参见此处-
在这里:
您好,我已经有了一个脚本来检查我的自定义字段。但是我想知道是否由于某种原因,脚本失败了,是否存在一个钩子来在创建用户之前通过php检查$u POST变量?我使用钩子“user\u register”来保存我的自定义数据,但到那时,如果某个自定义字段中存在错误,我可以拒绝DB自定义表中的iSeries,但wordpress已经注册了用户,我无法向用户显示错误消息。您好,我试图找到如何禁用创建新用户,但从wordpress主文件可以。通过查找wordpress显示错误的位置(如果名称重复或电子邮件无效),可以添加检查其他输入的代码。那么你是说我必须更改wordpress用户注册文件?在这一刻没有任何钩子解决方案?!我将看到这一选择。好的,非常感谢。在数据进入
create\u user
功能之前,请验证数据。仅当数据有效时-继续用户创建。请看我上面的答案,如果smth不清楚,请询问amything