wp-members 특정 도메인만 회원가입 허용 기능

1. 정확한 제품 또는 플러그인 이름

wp-members

 

2. 상세 내용

현재 사이트에 단체에 가입된 학생들만 가입할 수 있도록 설정을 할려고 합니다.

그러나 플러그인끼리 호환이 안되서 회원관리 플러그인 안에 승인된 도메인만 가입이 가능하도록 하려고 합니다만, php를 다뤄본 적이 없어서 막막한 상태입니다.

혹시 알려주시면 감사하겠습니다.

 

3. 확인 가능한 상세 페이지 주소

https://ksjp1982.com

 

4. 수정한 코드 내역 (있다면)

wp-members code

<?php // Here is where we handle all emails, both standard and custom.
									if ( ! empty ( $wpmem->admin->emails ) ) {	
										foreach( $wpmem->admin->emails as $email ) {
											self::do_email_input( $email );
										}
									}
									$arr = get_option( 'wpmembers_email_footer' ); 
									$footer_args = array(
										'body_input' => 'wpmembers_email_footer_body',
										'body_value' => $arr,
									); ?>
									<tr valign="top">
										<th scope="row"><strong><?php echo __( "Email Signature", 'wp-members' ); ?></strong> <span class="description"><?php _e( '(optional)', 'wp-members' ); ?></span></th>
										<td><?php self::do_email_editor( $footer_args ); ?></td>
									</tr>
									<tr><td colspan="2"><hr /></td></tr>
									<tr valign="top">
										<th scope="row">&nbsp;</th>
										<td>
											<input type="hidden" name="wpmem_admin_a" value="update_emails" />
											<?php submit_button( __( 'Update Emails', 'wp-members' ) ); ?>
										</td>
									</tr>
								</table>
							</form>
						</div><!-- .inside -->
					</div><!-- #post-box -->
					<div class="postbox">
						<h3><span><?php _e( 'Need help?', 'wp-members' ); ?></span></h3>
						<div class="inside">
							<strong><i>See the <a href="https://rocketgeek.com/plugins/wp-members/docs/plugin-settings/emails/" target="_blank">Users Guide on email options</a>.</i></strong>
						</div>
					</div>
				</div> <!-- #post-body-content -->
			</div><!-- #post-body -->
		</div><!-- .metabox-holder -->
		<?php
	}

추가하고 싶은 코드(인터넷에서 찾은 코드입니다)

add_action('registration_errors', 'sizeable_restrict_domains', 10, 3);
function sizeable_restrict_domains( $errors, $login, $email ) {
$whitelist = array(
'domain.com',
'website.com'
);
if ( is_email($email) ) {
$parts = explode('@', $email);
$domain = $parts[count($parts)-1];
$to = 'your@adminemail.com';
$subject = '이메일 제목';
$message = '다음 이메일 주소로 회원가입을 시도했습니다: ' . $email;
if ( !in_array(strtolower($domain), $whitelist) ) {
$errors->add('email_domain', __('오류: 승인된 이메일 주소만 등록할 수 있습니다.'));
wp_mail( $to, $subject, $message );
}
}
return $errors;
}

넣는 부분이 맞는지를 모르겠습니다.. 일단 이러한 기능을 넣을려고 검색을 했습니다만 성공하지 못했습니다.

도움을 주시면 감사하겠습니다!

 

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요