매우 큰 다중 사이트가 있습니다. 그리고 여러 사용자가 동일한 이메일을 사용할 수있는 옵션을 활성화하라는 요청을 받았습니다. “여러 계정 허용”플러그인이 제대로 작동하지 않습니다. 그에 대한 다른 해결책을 찾아야합니다. 모든 이메일에 + 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;
}