Comment utiliser le même courrier électronique pour plusieurs utilisateurs

12

J'ai un très grand multisite. Et j'ai reçu une requête pour activer l'option permettant à plusieurs utilisateurs d'utiliser le même courrier électronique. J'ai trouvé un plugin "Autoriser plusieurs comptes" qui ne fonctionne pas correctement. Je devrais trouver une autre solution pour cela. Je sais que je pourrais utiliser quelque chose comme ajouter + sometext à chaque e-mail, de sorte qu'il sera différent de Wordpress. Avez-vous une autre solution, cela peut être fait ici?

    
posée boban0987 10.12.2012 - 12:33

1 réponse

13

Vous pouvez utiliser le filtre wpmu_validate_user_signup pour supprimer l'erreur, puis définir WP_IMPORTING simplement pour ignorer la vérification email_exist() dans la fonction 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;
}

UPDATE : pour ce type d'installation, essayez ce code:

add_filter('pre_user_email', 'skip_email_exist');
function skip_email_exist($user_email){
    define( 'WP_IMPORTING', 'SKIP_EMAIL_EXIST' );
    return $user_email;
}
    
réponse donnée Parham 11.12.2012 - 09:59

Lire d'autres questions sur les étiquettes