it-swarm.com.de

So verwenden Sie dieselbe E-Mail für mehrere Benutzer

Ich habe eine sehr große Multisite. Und ich habe die Bitte erhalten, die Option zu aktivieren, dass mehrere Benutzer dieselbe E-Mail verwenden können. Ich habe ein Plugin "Allow Multiple Accounts" gefunden, das nicht richtig funktioniert. Ich sollte eine andere Lösung dafür finden. Ich weiß, dass ich so etwas wie das Hinzufügen von + sometext zu jeder E-Mail verwenden könnte, damit es anders als Wordpress angezeigt wird. Haben Sie eine andere Lösung, die hier durchgeführt werden kann?

12
Boban

Sie können den wpmu_validate_user_signup-Filter verwenden, um den Fehler zu beheben, und dann WP_IMPORTING definieren, um nur die email_exist()-Prüfung in der wp_insert_user()-Funktion zu überspringen:

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: für ein nicht standortübergreifendes Setup versuchen Sie diesen Code:

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