여러 사용자에게 동일한 이메일을 사용하는 방법 사이트가 있습니다. 그리고 여러

매우 큰 다중 사이트가 있습니다. 그리고 여러 사용자가 동일한 이메일을 사용할 수있는 옵션을 활성화하라는 요청을 받았습니다. “여러 계정 허용”플러그인이 제대로 작동하지 않습니다. 그에 대한 다른 해결책을 찾아야합니다. 모든 이메일에 + sometext를 추가하는 것과 같은 것을 사용할 수 있으므로 WordPress와 다르게 표시됩니다. 여기서 할 수있는 다른 해결책이 있습니까?



답변

wpmu_validate_user_signup필터를 사용 하여 오류를 제거한 다음 체크인 기능 WP_IMPORTING을 건너 뛰도록 정의 할 수 있습니다 .email_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;
}


답변