Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress-用户注册前的验证数据挂钩_Wordpress - Fatal编程技术网

Wordpress-用户注册前的验证数据挂钩

Wordpress-用户注册前的验证数据挂钩,wordpress,Wordpress,我想知道是否有wordpress钩子来检查自定义输入字段。当我添加新用户和更新现有用户时 如果任何字段无效,我不希望创建用户 如果(!is_numeric($_POST['phone_number'))$errors->add('ERROR 0001','Invalid phone number!')) 如果存在,它是否与Wordpress Multisite兼容 谢谢。在wordpress中添加用户已经进行了验证,但仍然没有对名字、姓氏和网站进行验证 这可以通过以下方式实现 试试这个验证, 制

我想知道是否有wordpress钩子来检查自定义输入字段。当我添加新用户和更新现有用户时

如果任何字段无效,我不希望创建用户

如果(!is_numeric($_POST['phone_number'))$errors->add('ERROR 0001','Invalid phone number!'))

如果存在,它是否与Wordpress Multisite兼容


谢谢。

在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