Wordpress得到用户

时间:2015-01-08 14:26:51

标签: php jquery wordpress

您好我正在尝试进行实时搜索,以便在用户注册时搜索现有的电子邮件。下面是我的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";
    }

}
?>

1 个答案:

答案 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');