2014-07-08 5 views
1

나는 WordPress와 BuddyPress를 사용하여 사이트를 만들고 있습니다. .edu 이메일 주소로 모든 사람에게 등록을해야합니다.Wordpress/BuddyPress 등록에서 맞춤 이메일 확인

바닐라 워드 프레스를 사용하는 경우 registration_errors 필터를 사용하면 매우 간단하지만 BuddyPress를 설치하면 작동하지 않습니다. 필터가 호출되지 않는 것 같습니다. BuddyPress를 비활성화하면 제대로 작동합니다.

BuddyPress에는 WordPress 기본값 이외의 추가 프로필 필드에 대한 사용자 지정 유효성 검사 후크가 있지만 사용자 이름과 전자 메일 주소와 같은 표준 WordPress 후크를 사용해야합니다.

누구에게이 문제가 발생 했습니까? 다른 필터 나 훅을 사용해야합니까?

답변

-1

올바른 후크는 bp_signup_validate입니다. hooked 함수는 매개 변수를 전달하지 않지만 전역 $ bp 개체에 액세스하여 사용자 정의 전자 메일 유효성 검사 및 오류 메시지를 추가 할 수 있습니다.

function validate_email_edu(){ 

    global $bp; 

    $email = $bp->signup->email; 

    if ($email){ 

     $tld_index = strrpos($email,'.'); 
     $tld = substr($email,$tld_index); 

     if ($tld != '.edu'){ 
      $bp->signup->errors['signup_email'] = 'Sorry, you must have a .edu email address to register.'; 
     } 

    } 

} 

add_action('bp_signup_validate','validate_email_edu'); 
0

buddypress \ bp-members \ bp-members-screens.php ~ L에서 을보세요. 49

아마도이 후크입니까?

또는 buddypress \ bp-members \ bp-members-functions.php ~ L을 살펴보십시오. 1347

아마도이 필터가 맞습니까? apply_filters('bp_core_validate_user_signup', $result);

+0

답변이 올바른 위치에 있습니다! 올바른 hook은'buddypress \ bp-members \ bp-members-screens.php'에있는'bp_signup_validate'입니다. –