سلام
استاد کدها رو دقیقا مثل کدهای شما نوشتم ولی یه ارور میگیرم نمیدونم چیکار کنم
کدهای ثبت نام ajax.php
function LE_Do_Register(){
$user_email=sanitize_text_field($_POST['user_email']);
$user_pass=sanitize_text_field($_POST['user_pass']);
$firstname=sanitize_text_field($_POST['firstname']);
$lastname=sanitize_text_field($_POST['lastname']);
$is_validate=LE_Register_Validate($user_email,$user_pass,$firstname,$lastname);
if(!$is_validate['IS_Validate']){
wp_send_json([
'success'=>false,
'message'=>$is_validate['message'],
'error'=>$is_validate['error']
],422);
}
if($is_validate['IS_Validate']){
$user_login=explode('@',$user_email);
$newuser=wp_insert_user([
'user_login'=>apply_filters('pre_user_login',$user_login[0].rand(1000,9999)),
'user_pass'=>apply_filters('pre_user_pass',$user_pass),
'user_email'=>apply_filters('pre_user_email',$user_email),
'display_name'=>apply_filters('pre_user_display_name',"{$firstname} {$lastname}"),
'first_name'=>apply_filters('pre_user_first_name',$firstname),
'last_name'=>apply_filters('pre_user_last_name',$lastname)
]);
if(is_wp_error($newuser)){
wp_send_json([
'success'=>false,
'message'=>'در عملیات ثبت نام خطایی رخ داده است',
'error'=>'error_register'
],500);
}
wp_send_json([
'success'=>true,
'message'=>'ثبت نام شما با موفقیت انجام شد'
],200);
}
}
function LE_Register_Validate($email,$password,$firstname,$lastname){
$result=[
'message'=>'',
'Is_Validate'=>true,
'error'=>''
];
if(empty($email)|| is_null($email)){
$result['message']='کادر ایمیل نباید خالی باشد';
$result['Is_Validate']=false;
$result['error']='email_empty';
return $result;
}
if(!is_email($email)){
$result['message']='آدرس ایمیل معتبر نمیباشد';
$result['Is_Validate']=false;
$result['error']='email_error';
return $result;
}
if(empty($firstname)|| is_null($firstname)){
$result['message']='کادر نام نباید خالی باشد';
$result['Is_Validate']=false;
$result['error']='firstname_empty';
return $result;
}
if(empty($lastname)|| is_null($lastname)){
$result['message']='کادر نام خانوادگی نباید خالی باشد';
$result['Is_Validate']=false;
$result['error']='lastname_empty';
return $result;
}
if(empty($password)|| is_null($password)){
$result['message']='کادر پسوورد نباید خالی باشد';
$result['Is_Validate']=false;
$result['error']='password_empty';
return $result;
}
if(email_exists($email)){
$result['message']='ایمیل تکراری میباشد';
$result['Is_Validate']=false;
$result['error']='Repetitious_email';
return $result;
}
return $result;
}
add_action('wp_ajax_nopriv_le-register-ajax','LE_Do_Register');
کدهای auth.js
$('#registerform').on('submit', function(event) {
event.preventDefault();
let user_email = $('#user_email').val();
let user_pass = $('#user_pass').val();
let firstname = $('#firstname').val();
let lastname = $('#lastname').val();
let notify = $('.alert');
$.ajax({
url: '/wp-admin/admin-ajax.php',
type: 'post',
datatype: 'json',
data: {
action: 'le-register-ajax',
user_email: user_email,
user_pass: user_pass,
firstname: firstname,
lastname: lastname
},
success: function(response) {
console.log(response);
if (response.success) {
notify.addClass('alert-success');
notify.css('display', 'block');
notify.append('<p>' + response.message + '</p>')
notify.delay(1000).hide(200);
setTimeout(function() {
notify.empty();
notify.removeClass('alert-success');
window.location.href = 'wordpress.exp/login';
}, 1000);
}
},
error: function(error) {
console.log(error);
if (error) {
if (error.responseJSON.error == 'email_empty') {
notify.addClass('alert-error');
notify.css('display', 'block');
notify.append('<p>' + error.responseJSON.message + '</p>')
notify.delay(2000).hide(200);
setTimeout(function() {
notify.empty();
notify.removeClass('alert-error');
}, 2000);
}
if (error.responseJSON.error == 'password_empty') {
notify.addClass('alert-error');
notify.css('display', 'block');
notify.append('<p>' + error.responseJSON.message + '</p>')
notify.delay(2000).hide(200);
setTimeout(function() {
notify.empty();
notify.removeClass('alert-error');
}, 2000);
}
if (error.responseJSON.error == 'email_error') {
notify.addClass('alert-error');
notify.css('display', 'block');
notify.append('<p>' + error.responseJSON.message + '</p>')
notify.delay(2000).hide(200);
setTimeout(function() {
notify.empty();
notify.removeClass('alert-error');
}, 2000);
}
if (error.responseJSON.error == 'firstname_empty') {
notify.addClass('alert-error');
notify.css('display', 'block');
notify.append('<p>' + error.responseJSON.message + '</p>')
notify.delay(2000).hide(200);
setTimeout(function() {
notify.empty();
notify.removeClass('alert-error');
}, 2000);
}
if (error.responseJSON.error == 'lastname_empty') {
notify.addClass('alert-error');
notify.css('display', 'block');
notify.append('<p>' + error.responseJSON.message + '</p>')
notify.delay(2000).hide(200);
setTimeout(function() {
notify.empty();
notify.removeClass('alert-error');
}, 2000);
}
if (error.responseJSON.error == 'Repetitious_email') {
notify.addClass('alert-error');
notify.css('display', 'block');
notify.append('<p>' + error.responseJSON.message + '</p>')
notify.delay(2000).hide(200);
setTimeout(function() {
notify.empty();
notify.removeClass('alert-error');
}, 2000);
}
if (error.responseJSON.error == 'error_register') {
notify.addClass('alert-error');
notify.css('display', 'block');
notify.append('<p>' + error.responseJSON.message + '</p>')
notify.delay(2000).hide(200);
setTimeout(function() {
notify.empty();
notify.removeClass('alert-error');
}, 2000);
}
}
}
})
})