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


14

非常に大きなマルチサイトがあります。また、複数のユーザーが同じ電子メールを使用できるオプションを有効にするようにリクエストがありました。適切に動作しないプラグイン「Allow Multiple Accounts」を見つけました。そのための他の解決策を考え出す必要があります。すべてのメールに+ sometextを追加するようなものを使用できることを知っているので、Wordpressとは異なる表示になります。ここでできる他の解決策はありますか?


5
これには注意する必要があります。これが機能し、複数の異なる個人に同じメールを使用しようとしている場合、それらの個人のいずれかが共有メールを使用するアカウントの一部またはすべてのパスワードをリセットできます。そのメールアドレスはセキュリティシステムの一部です。
s_ha_dum

はい、私はそれを知っているが、私はまだ、このソリューションを探しています
ボバン

1
Parhamの答えはすっきりしていますが、メールアドレスは本物である必要はないので、偽のメールアドレスでアカウントを作成できます。ユーザーは、必要に応じて後で変更できます。これにはセキュリティ面での利点があり、プラグインやWordPressコアの一部でEメールアドレスごとに1つのユーザー名があると仮定する問題を防ぎます。
wp-overwatch.com

まさに私が必要としたもの。テスト目的で使用したいだけです。
LegendLength

回答:


15

wpmu_validate_user_signupフィルターを使用してエラーを削除しWP_IMPORTINGemail_exist()チェックインwp_insert_user()機能をスキップするためだけに定義できます。

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

更新:非マルチサイト設定の場合、次のコードを試してください。

add_filter('pre_user_email', 'skip_email_exist');
function skip_email_exist($user_email){
    define( 'WP_IMPORTING', 'SKIP_EMAIL_EXIST' );
    return $user_email;
}

これが正しい答えだと思います。正しいとマークされました。ありがとう!
ボバン

1
これはWordpress 3.5では機能しません。
ギョーション

@Guillochon WP 3.5でこのコードが機能しなくなるような変更はありません。これはMULTI-SITEセットアップ用です。WPMUセットアップでテストしていますか?
パーハム

私の間違い、私は単一のサイトのセットアップを試みていました。単一サイトの「複数アカウント」プラグインはもう機能しないため、代替手段を探していました。
ギヨチョン

1
マルチサイト設定でのパスワードの紛失通知はどうなりますか?これはどのように処理されますか?
タイニージャイアントスタジオ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.