您好我正在尝试进行实时搜索,以便在用户注册时搜索现有的电子邮件。下面是我的jquery脚本
$("#wjp_register input#user_email").change(function(){
console.log("lol");
var email=$("#wjp_register input#user_email").val();
$.ajax({
type:"post",
dataType : 'JSON',
url:"/wordpress/wp-content/themes/tsf/wpjobboard/job-board/check.php",
data:"email-address="+email,
success:function(result){
if(result==0){
console.log(result);
$(".error").html(" Username available");
}
else{
console.log(result);
$(".error").html("Username already taken");
proceed = false;
}
}
});
});
当我在开发者控制台中检查响应时,电子邮件成功回显,但wordpress get_user_by似乎无效。
我的PHP脚本
<?php
$mm = $_POST['email-address'];
if ( isset( $_POST['email-address'] ) && ! empty( $_POST['email-address'] ) ) {
//sanitize the data
$email_addr = trim( strip_tags( stripslashes( $_POST['email-address'] ) ) );
echo $email_addr;//This is printed successfullt
echo "<br>";
//This below part doesnt work :(
if( false == get_user_by( 'email', $email_addr ) ) {
echo "Doesnt exist";
} else {
echo "exists";
}
}
?>
答案 0 :(得分:1)
所以这是从外部文件中使用WP的正确方法:
如果您需要所有WP并且想要触发所有默认的挂钩和操作,请包含wp-blog-header.php。
define('WP_USE_THEMES', false);
require('./wp-blog-header.php');
如果您只需要WP功能,请加载wp-load.php。它不调用wp()或调用模板加载器。所以它更轻巧!
define('WP_USE_THEMES', false);
require('./wp-load.php');