[회원관리플러그인] 회원가입이 완료되었다는 메시지는 나오나 가입되지 않는 오류

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

코스모스팜 회원관리

 

2. 상세 내용

회원 가입 후, "축하합니다! 회원가입이 성공했습니다."  라는 완료 문구가 나옵니다.

그러나, 로그인에 실패하여 관리자에 가보면, 회원가입이 되어있지 않습니다.

여러번 테스트를 거쳐 알아낸 정보는 "wp-members" 플러그인의 display_name 필드에 한글을 좀 길게 넣으면(대략 8자 이상) 가입에 오류가 생기는 것으로 추정됩니다.

기존에는 딱히 문제가 없었는데, (약 3-4년간 운영중인 홈페이지) 최근 발견된 문제입니다.

플러그인 업데이트 문제인가 싶어, 워드프레스 & 코스코스팜 회원관리 & wp-members 모두 최신 것으로 업데이트 하였으나, 같은 문제가 지속되고 있습니다. ㅠㅠ

 

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

https://equaluniv.or.kr/join/

 

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

회원가입 관련 function.php 추가한 내요입니다.

/* Username에 비라틴어 문자 허용하기 */
add_filter('sanitize_user', 'non_strict_login', 10, 7);

function non_strict_login( $username, $raw_username, $strict ) {

if( !$strict )
return $username;

return sanitize_user(stripslashes($raw_username), false);
}
add_filter('wpmem_register_form_rows', 'my_register_form_rows', 999, 2);
function my_register_form_rows($rows, $toggle){

	if($toggle == 'new'){
	if(isset($rows['mail1'])){
		$rows['mail1']['field_after'] = '<div><h2 class="title-widget2 signup-t signup-t2">이용약관, 개인정보 수집 및 이용 동의</h2><h6 class="signup-sub">이용약관, 개인정보 수집 및 이용에 모두 동의하셔야 가입이 진행됩니다.</h6></div>';
	}

    if(isset($rows['addr2'])){
		$rows['addr2']['field_after'] = '<div><h2 class="title-widget2 signup-t signup-t2">담당자 정보</h2>
<h6 class="signup-sub">업무 담당자 정보를 입력하여 주시기 바랍니다. 향후 공지사항 안내, 비밀번호 찾기 등에 필요할 수 있습니다.</h6></div>';
	}
	if(isset($rows['display_name'])){
		$rows['display_name']['field_after'] = '<div class="signup-div"><span class="signup-e">대학교이름으로 가입해주시기 바랍니다. 캠퍼스가 있는 경우에는 캠퍼스이름도 표기해주시기 바랍니다. </span></div>';
	}
	if(isset($rows['username'])){
		$rows['username']['field'] = '<input name="username" type="text" id="username" value="" class="textbox" placeholder="아이디" required>';
		$rows['username']['field_after'] = '<div class="signup-div"><span class="signup-e">아이디는 대학교 영문명으로 만들어 주시기 바랍니다. 캠퍼스의 경우 아이디 뒤에 지역명칭을 포함해주시기 바랍니다. </span></div>';
	}
	if(isset($rows['zip'])){
		$rows['zip']['field'] = '<input id="zip" class="textbox cursor-pointer" name="zip" value="" onclick="cosmosfarm_members_open_postcode()" readonly="" type="text" placeholder="우편번호" required>';
	}
	if(isset($rows['addr1'])){
		$rows['addr1']['field'] = '<input id="addr1" class ="textbox cursor-pointer" name="addr1" value="" onclick="cosmosfarm_members_open_postcode()" readonly="" type="text" placeholder="주소" required>';
	}}
	
	return $rows;
}

 

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • AI에 의해 자동 생성된 답변이에요 😀

    안녕하세요,

    회원가입이 완료되었다는 메시지는 나오지만 실제로 회원가입이 되지 않는 오류에 대해 문의하셨습니다. 해당 오류는 "wp-members" 플러그인의 display_name 필드에 한글을 길게 넣으면(대략 8자 이상) 가입에 오류가 생기는 것으로 추정되고 있습니다. 최근에 발견된 문제로 플러그인 업데이트를 해도 같은 문제가 지속되고 있다고 하셨습니다.

    해결 방법으로는 다음과 같은 답변이 있습니다:

    1. 워드프레스 관리자 페이지에서 사용자 정보를 수정하는 코드를 제공해주었습니다. 해당 코드를 적용하면 워드프레스 관리자 -> 사용자 -> 모든 사용자...에서 회원정보 수정 시 동작하게 됩니다.

    2. 회원정보 수정이 되기 전에 체크를 해야 할 것으로 보입니다. 이전에 안내해드린 코드 중 wpmem_post_update_data 부분을 wpmem_pre_update_data로 수정하면 됩니다.

    3. 등급(레벨)은 워드프레스 역할을 말씀하시는 것인지 확인이 필요합니다. 직접 파일을 수정해야 할 수도 있습니다. FTP로 접속해서 /wp-content/plugins/... 경로에 해당하는 파일을 수정하면 됩니다.

    4. 회원정보 수정 후에 코드가 실행되어야 하는데 wpmem_post_update_data 액션을 사용하면 됩니다. 회원정보의 값이 모두 변경된 후 해당 코드가 실행됩니다.

    5. 회원가입, 비밀번호 찾기 등은 워드프레스 코어 기능을 그대로 활용하고 있습니다. 이메일로 로그인하기 기능을 사용하고 있다면 해당 기능을 확인해보시기 바랍니다.

    위의 답변 중에서 문제해결에 가장 적합한 답변은 2번입니다. wpmem_pre_update_data로 코드를 수정하여 회원정보 수정 전에 체크하도록 변경해주시면 됩니다.

    문제가 해결되지 않는다면, 추가적인 정보를 제공해주시면 더 정확한 도움을 드릴 수 있을 것입니다. 감사합니다.

    ↓ 아래 버튼을 눌러서 피드백해주세요.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요