Como usar o mesmo email para vários usuários

12

Eu tenho um multisite muito grande. E recebi uma solicitação para habilitar a opção que vários usuários podem usar o mesmo email. Eu encontrei um plugin "Allow Multiple Accounts" que não funciona corretamente. Eu deveria descobrir alguma outra solução para isso. Eu sei que eu poderia usar algo como adicionar + sometext para cada e-mail, por isso vai mostrar diferente para o Wordpress. Você tem alguma outra solução, que pode ser feita aqui?

    
por boban0987 10.12.2012 / 12:33

1 resposta

13

Você pode usar o filtro wpmu_validate_user_signup para remover o erro e, em seguida, definir WP_IMPORTING apenas para ignorar a email_exist() check na função 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 : para uma configuração que não seja Multi-site, experimente este código:

add_filter('pre_user_email', 'skip_email_exist');
function skip_email_exist($user_email){
    define( 'WP_IMPORTING', 'SKIP_EMAIL_EXIST' );
    return $user_email;
}
    
por Parham 11.12.2012 / 09:59