Последние 2 часа я пытался выяснить эту ошибку и не смог ее понять.
Код работает... Я могу отправить в WordPress и увидеть ответ в консоли, однако он не будет обновлять контрольную электронную почту. Любой совет будет принят с благодарностью. Я шел методом проб и ошибок и не смог добиться никакого прогресса.
HTML
Email
Please provide a valid email address.
Ajax-скрипт
// setTimeout(function(){ callAjax(); }, 3000);
function checkemail() {
jQuery.ajax({
url: "/wp-admin/admin-ajax.php",
data: {
'action': 'emailval',
'Email':document.getElementById('Email')
},
type: "POST",
dataType: 'json',
success:function(response){
setTimeout(function(){
jQuery("#check-email").html(response);
},3000);
},
error:function (){}
});
}
Файл Function.php
add_action( 'wp_ajax_emailval', 'emailval' );
add_action('wp_ajax_nopriv_emailval', 'emailval');
function emailval()
{
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
global $wpdb; // Use the global $wpdb object
{
error_reporting(E_ALL);
$email = $_POST['Email'];
//wp_send_json_success($email);
$emailclean = explode('@', $email);
$domain = array_pop($emailclean);
$bad_domains = array('google.ca, hotmail.com);
#$link = mysqli_connect("localhost", "root", "","site");
$sql = $wpdb->prepare("Select count(*) from " .$wpdb->prefix ."EmailValidation where email ='$email'");
//wp_send_json_success($sql);
$results = $wpdb->get_var($sql);
if($results>0)
{
echo(" It appears you are already a member, please contact us at for futher assistance. ");
echo "$('#submit').prop('disabled',true);";
}
elseif (in_array($domain, $bad_domains) ) {
echo json_encode( " Please register with your personal email ");
echo "$('#submit').prop('disabled',true);";
echo'1';
exit();
}
else
{
echo('Thank You for becoming a member');
echo "$('#submit').prop('disabled',false);";
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... -wordpress