如何获取wp_create_user返回的错误对象

时间:2013-07-10 作者:richbai90

我正在为我的wp站点创建一个注册小部件,它按预期工作,但是如果用户已经存在,我需要一种检索该信息的方法。我正在使用ajax进行调用,下面是我的代码:

$.post(AjaxRequest.ajaxurl, {
                    action: "send_wlm",
                    user_login: formdata[0].value,
                    user_email: formdata[1].value,
                    user_practice_role: formdata[2].value,
                    user_practice_level: formdata[3].value,
                    user_practice: formdata[4].value
                }, function (response) {
                    console.log(response);
                });
PHP

public function wlm_user_level (){
    global $wpdb;
    $random_password = wp_generate_password( $length=12,     $include_standard_special_chars=false );
    $user_name = $_POST[\'user_login\'];
    $user_email = $_POST[\'user_email\'];
    $user_id = wp_create_user( $user_name, $random_password, $user_email ); }
我唯一的问题是,我知道它会返回一个错误对象,但如何让该对象从ajax调用返回它呢?

1 个回复
最合适的回答,由SO网友:Milo 整理而成

在示例代码中,$user_id 将是错误对象。您可以测试is_wp_error 并通过返回错误字符串get_error_message:

$user_id = wp_create_user( $user_name, $random_password, $user_email );
if ( is_wp_error( $user_id ) )
   return $user_id->get_error_message();

结束

相关推荐

高级AJAX页面加载器和砖石网格

我正在使用高级Ajax页面加载器插件和Masonry。这两种方法都可以,但是一旦通过ajax加载了新内容,Maonry就无法应用。你可以在这里看到http://wxperimental.musicglaze.com 一旦你第一次加载它,你可以看到砖石正在发生(每个帖子是分开的),但在侧边栏中键入“a”搜索并查找它。将通过ajax加载新内容,并且不会应用masonry。我尝试在高级Ajax页面加载器插件的设置中粘贴我的砌体代码以“重新加载代码”部分,但没有成功。我的砌体规范。jQuery( document