web-dev-qa-db-ja.com

複数のユーザーに同じEメールを使用する方法

私はとても大きなマルチサイトを持っています。そして私は、複数のユーザーが同じEメールを使用できるというオプションを有効にするよう要求しました。私はプラグイン "Allow Multiple Accounts"を見つけましたが、これは正しく動作しません。そのための他の解決策を考え出すべきです。すべての電子メールに+ sometextを追加するなどの方法を使用できることを私は知っているので、Wordpressとは異なる表示になります。他に解決策はありますか。

12
Boban

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;
}
13
Parham