我表单中的页面名是“Register”,意思是slug是“Register”。这是与我的错误理论相关的第一条信息。
当我运行wp\\u insert\\u user时,我第一次获得了成功,但用户名是“register”。因此,后续提交将尝试创建用户“register”,因此它会出错为“存在具有该用户名的用户”错误。
我反复检查了我的数据,以验证我没有提交用户名为“register”的表单,但它总是尝试使用该用户名。
这是我的代码:
$first_name = $data[\'first_name\'];
$last_name = $data[\'last_name\'];
$user_name = $data[\'user_name\'];
$type_of_user = $data[\'type_of_user\'];
$nickname = $first_name . " " . $last_name;
$email = $data[\'email_address\'];
$password = wp_generate_password();
$address1 = $data[\'address_1\'];
$address2 = $data[\'address_2\'];
$city = $data[\'city\'];
$state = $data[\'state\'];
$zipcode = $data[\'zipcode\'];
$user_photo = $data[\'user_photo\'];
$args = array (
\'user_login\' => $user_name,
\'user_email\' => $email,
\'user_pass\' => $password,
\'user_url\' => $website,
\'first_name\' => $first_name,
\'last_name\' => $last_name,
\'nickname\' => $nickname,
\'role\' => $type_of_user
) ;
$user_id = wp_insert_user($args);
post循环中是否有什么东西进入了我的状态,我该如何修复它。我已经试着解决这个问题有一段时间了,但我不知道还能尝试什么。
EDIT 1: Next test case.
$username = "spock";
$password = wp_generate_password();
$email_address = "[email protected]";
if( null == username_exists( $username) ) {
// Generate the password and create the user
$password = wp_generate_password( 12, false );
$user_id = wp_create_user( $username, $password, $email_address );
if ( $user_id && !is_wp_error( $user_id ) ) {
// Set the nickname
wp_update_user(
array(
\'ID\' => $user_id,
\'nickname\' => $email_address
)
);
// Set the role
$user = new WP_User( $user_id );
$user->set_role( \'contributor\' );
// Email the user
wp_mail( $email_address, \'Welcome!\', \'Your Password: \' . $password );
} else {
wp_mail("[email protected]", "User Reg Error", "Username attempted: " . $username . " . and Error: " . $user_id->get_error_message() . json_encode($user_id));
}
} // end if
此代码在第一次运行时创建以下内容。
然后在下次运行时返回错误“抱歉,该用户名已存在!”,因为它试图再次创建用户名为“register”的用户。
EDIT 2: The Workaround (still need an answer)
解决方法是,我只是让它创建用户名“register”,然后用提供的用户快速更新用户名,但没有理由使用此用户名。是否有什么东西正在过滤wp\\u insert\\u用户函数?是否有一个可湿性粉剂挂钩过滤?
EDIT 3: Tried another page/page slug
我用slug“test”创建了一个名为“test”的新页面,但出现了相同的错误,因此与此无关。