使用PHP将用户插入WordPress表

时间:2014-04-28 00:25:50

标签: php wordpress

我正在尝试使用PHP将用户添加到WordPress中的wp_users表。我认为我有正确的代码(或者我可能没有),但我似乎无法让它运行。所以要么我做错了,要么我有点困惑(我当然很困惑)。

基本上我在WordPress插件下的PHP文件中有这个代码。然后我输入URL中的代码:

localhost:8888/xxx/xxx/plugins/register_user.php. 

这会起作用还是我需要做什么?当我之后检查MySQL时,它还没有进入用户。我做了一些明显的错误吗?

我之前从未这样做过,并且不太了解PHP,所以请清楚地解释一下这些事情,并为那些愚蠢的人解释。这是代码。

<?php # Script 9.3 - register.php

$page_title = 'Register';

add_action('init', 'create_user');

function create_user() {
    $username = 'username123';
    $password = 'pasword123';
    $email = 'drew@example.com';

    $user = get_user_by( 'email', $email );
    if( ! $user ) {

        // Create the new user
        $user_id = wp_create_user( $username, $password, $email );
        if( is_wp_error( $user_id ) ) {
            // examine the error message
            echo( "Error: " . $user_id->get_error_message() );
            exit;
        }
    }
}

1 个答案:

答案 0 :(得分:0)

要在wordpress中创建用户,您可以使用WP Create User功能。你似乎使代码变得复杂一点。您可以阅读有关在Wordpress Codex here

中创建用户的信息
<?php wp_create_user( $username, $password, $email ); ?>

以下是wordpress如何在wp-admin / upgrade-functions.php中处理它:

$user_id = username_exists( $user_name );
if ( !$user_id and email_exists($user_email) == false ) {
    $random_password = wp_generate_password( $length=12, $include_standard_special_chars=false );
    $user_id = wp_create_user( $user_name, $random_password, $user_email );
} else {
    $random_password = __('User already exists.  Password inherited.');
}

希望这有助于