web-dev-qa-db-ja.com

Eメールのユーザー名を削除するか、Eメールのユーザー名を交換する

すべてのWP Eメール内のユーザー名のすべてのインスタンスを削除すること、またはユーザー名をEメールアドレスに交換することはできますか?

functions.phpファイルに、登録からユーザ名を削除し、その電子メールをログインとして使用するコードがありますが、それによってユーザ名がランダムに生成されます。つまり、ユーザー名フィールドを含むユーザーに送信されるすべての電子メールは、username:文字列のランダムな文字列になります。削除/交換します。

以下は、登録からユーザー名を削除するコードです。

add_action( 'bp_core_validate_user_signup', 'custom_validate_user_signup' );

function custom_validate_user_signup($result)
{
  unset($result['errors']->errors['user_name']);

  if(!empty($result['user_email']) && empty($result['errors']->errors['user_email']))
  {
    $result['user_name'] = md5($result['user_email']);
    $_POST['signup_username'] = $result['user_name'];
  }

  return $result;
}
2
vytfla

私はあなたがこの行からmd5()を取り除く必要があると思います:

$result['user_name'] = md5($result['user_email']);

私はバディプレスにそれほど馴染みがありませんが、empty($result['errors']->errors['user_email'])がtrueであることがユーザーが正常に登録されたことを意味するならば、私は以下のようなものを使用します。

wp_update_user( array( 'ID' => $user_id, 'name' => $result['user_email'] ) );
1
dg4220