这很难做到,因为WordPress总是检查电子邮件地址是否已经被使用。
function email_exists( $email ) {
if ( $user = get_user_by( \'email\', $email) ) {
return $user->ID;
}
return false;
}
这个函数也是不可过滤的,所以在这个方向上没有办法。
然而,您可以做的是,只需插入没有电子邮件地址的用户就可以了,因为这不是必填字段。
$userdata = array(
\'user_login\' => \'login_name\' . rand( 0, 1000 ), // randomize the login to test for multiple users. This is the field where you can insert your usernames.
\'user_pass\' => NULL, // When creating an user, `user_pass` is expected.
\'role\' => \'subscriber\' // do not forget to restrict capabilities for those users.
);
$user_id = wp_insert_user( $userdata );
如果您真的需要将EmailAddress存储在这些用户中(我看不出这有什么意义),可以手动将其添加到数据库中<我强烈建议不要这样做
您无法知道将来的更新会如何影响这一点。
无论如何,如果你喜欢玩火:
global $wpdb;
$query = "UPDATE $wpdb->users SET user_email = %s WHERE ID = %d";
$wpdb->get_results( $wpdb->prepare( $query, \'[email protected]\', $user_id ) );
正如我所提到的,我真的不明白这有什么意义,因为emailaddress不用于任何用途。不过,要玩得开心;)
你不能在WordPress的UI上使用它,你必须创建一个插件或其他东西来处理这个问题。