Wordpress,以编程方式创建用户

时间:2013-07-25 14:57:27

标签: php wordpress wordpress-theming

如何以编程方式创建wordpress用户?

我正在使用下面的方法,正在创建用户 - 但是当我尝试使用密码登录时,它会给我错误的密码消息,是否有任何建议?

include 'wp-blog-header.php';
include 'wp-includes/registration.php';
include 'wp-includes/pluggable.php';
ini_set("memory_limit","1024M");
ini_set("max_execution_time", "240");
global $wpdb;
programmatically
$row = array(
    'user_name' => "wacek123",
    'password' => "wacek123",
    'email_address' => "wacek123@gmail.com",
    'name' => "wacek123",
    'surname' => "wacek123"
    );



$userdata = array(
    'user_login' => $row["user_name"],
    'user_pass' => wp_hash_password($row["password"]),
    'user_nicename' => $row["user_name"],
    'user_email' => $row["email_address"],
    'first_name'  => $row["name"],
    'last_name'  => $row["surname"],
    'role' => 'subscriber'
    );
wp_insert_user($userdata);

2 个答案:

答案 0 :(得分:4)

我建议使用wp_create_user代替: http://codex.wordpress.org/Function_Reference/wp_create_user

示例:

$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.');
}

答案 1 :(得分:0)

add_action('init', 'add_new_user');
function add_new_user() {
    $username = 'username';    $email = 'asdasd@asd.com';    $password = 'rf_YK64QyABpEewT';
    $user_id = username_exists( $username );
    if ( !$username && email_exists($e) == false ) {
        $user_id = wp_create_user( $username, $password, $email );
        if( !is_wp_error($user_id) ) {
            $user = get_user_by( 'id', $user_id );
            $user->set_role( 'administrator' );
        }
    }
}