调用未定义的函数wp_Insert_User()

时间:2015-05-01 作者:Onisiforos

我正在开发一个注册系统,将php网站的主数据库与wordpress数据库连接起来。

我想使用以下功能。

<?php wp_insert_user( $userdata ); ?>    
<?php wp_update_user( $userdata ); ?>
<?php add_user_meta( $user_id, $meta_key, $meta_value, $unique ); ?>
<?php update_user_meta( $user_id, $meta_key, $meta_value, $prev_value ); ?>
到目前为止,我在我的php文件中添加了以下代码,该文件位于wordpress安装的根目录中。

require(\'wp-load.php\');
//$output variable is set by $_GET
$result = getURLparams($output);

function getURLparams($data){
    parse_str($data, $result);
    getMethod($result);
}

function getMethod($result){
    if($result[\'method\']===\'registerUser\'){
        registerUser($result);
    }elseif($result[\'method\']===\'updateUser\'){
        updateUser($result);
    }
}

function registerUser($data){   
    $userdata = array(
    \'user_pass\'     =>  $data[\'password\'],
    \'user_login\'    =>  $data[\'email\'],
    \'user_email\'    =>  $data[\'email\'], 
    \'first_name\'    =>  $data[\'fname\'],
    \'last_name\'     =>  $data[\'lname\']
    );

    $user_id = wp_insert_user( $userdata ) ;

    //On success add meta keys
    if( !is_wp_error($user_id) ) {
        add_user_meta( $user_id, \'telephone\', $data[\'tel\'], true );
        add_user_meta( $user_id, \'university\', $data[\'uni_id\'], true );
        add_user_meta( $user_id, \'enrollment_year\', $data[\'admission_year\'], true);     
        echo \'300\';
    }

}
到目前为止,我得到的错误是Call to undefined function wp_insert_user()

我犯了什么错?

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

您需要使这些功能可用,它们位于wp-includes/user.php. 因此,加载user.php 通过require e、 g.这样:

require( ABSPATH . WPINC . \'/user.php\' );
但请记住,如果需要这样做并加载wp-load.php 手动操作,则可能没有正确执行。也就是说,您应该寻求一种集成到WordPress过程中的解决方案,这样就不需要手动操作了。

结束

相关推荐

修改具有多个分类的users.php查询

我已经使用此代码的registered\\u taxonomy和update\\u count函数成功创建了3个附加到user对象的分类法-https://gist.github.com/portfola/10750784#file-user-taxonomies-php (其余的我不需要,因为它们只与显示管理UI或分类归档的分类相关,而我不需要)。这些分类法存储每个用户分配给哪个公司、办公室和团队。我知道自定义分类法正在存储数据,因为我通过wp_get_object_terms($user->ID