私はとても大きなマルチサイトを持っています。そして私は、複数のユーザーが同じEメールを使用できるというオプションを有効にするよう要求しました。私はプラグイン "Allow Multiple Accounts"を見つけましたが、これは正しく動作しません。そのための他の解決策を考え出すべきです。すべての電子メールに+ sometextを追加するなどの方法を使用できることを私は知っているので、Wordpressとは異なる表示になります。他に解決策はありますか。
wpmu_validate_user_signup
フィルターを使用してエラーを取り除き、email_exist()
関数のwp_insert_user()
チェックをスキップするためにWP_IMPORTING
を定義することができます。
add_filter('wpmu_validate_user_signup', 'skip_email_exist');
function skip_email_exist($result){
if(isset($result['errors']->errors['user_email']) && ($key = array_search(__('Sorry, that email address is already used!'), $result['errors']->errors['user_email'])) !== false) {
unset($result['errors']->errors['user_email'][$key]);
if (empty($result['errors']->errors['user_email'])) unset($result['errors']->errors['user_email']);
}
define( 'WP_IMPORTING', 'SKIP_EMAIL_EXIST' );
return $result;
}
_ update _ :マルチサイト以外の設定の場合は、次のコードを試してください。
add_filter('pre_user_email', 'skip_email_exist');
function skip_email_exist($user_email){
define( 'WP_IMPORTING', 'SKIP_EMAIL_EXIST' );
return $user_email;
}