안녕하세요, 코스모스팜 회원관리 사용하는 중 지속적인 오류 때문에 문의드립니다.
플러그인도 최신으로 업데이트 하였고, wp-members도 최신으로 업데이트 했습니다.
업데이트 후 모든 코드 초기화 하면 문제가 없고, 작업 후에 회원가입 정상적으로 되는 것까지 전부 확인했는데요. 벌서 3일째 다음 날 접속하면 회원가입 폼에 문제가 발생하여 가입이 되지 않고 있습니다.
3번 이상을 초기화 했는데도 문제가 반복되네요.
예상하기로는 custom register form을 사용하면 문제가 생기는 것 같은데요. 가이드 보고 아래와 같이 코드를 작성했는데 왜 문제가 발생하는 것일까요? 7월 중 회원가입 기능 상용화 해야 하는데, 문제가 해결 되지 않고 있어 걱정입니다.
// 회원가입 폼 커스터마이징
add_filter('wpmem_register_form', 'my_register_form_filter', 10, 4);
function my_register_form_filter($form, $toggle, $rows, $hidden){
$form = '<div class="cosmosfarm-members-form signup-form two">
<a id="register"></a>
<form name="form" method="post" action="http://newt.news/newsletter/politika/" id="wpmem_register_form" class="form">
<input type="hidden" id="_wpmem_register_nonce" name="_wpmem_register_nonce" value="292d195a74">
<input type="hidden" name="_wp_http_referer" value="/newsletter/politika/">
<fieldset><legend>새로운 사용자 등록</legend>
<label for="first_name" class="text">이름<span class="req">*</span></label>
<div class="div_text"><input name="first_name" type="text" id="first_name" value="" class="textbox" required=""></div>
<label for="user_email" class="text">이메일 주소<span class="req">*</span></label>
<div class="div_text"><input name="user_email" type="email" id="user_email" value="" class="textbox" required=""></div>
<label for="password" class="text">비밀번호<span class="req">*</span></label>
<div class="div_text"><input name="password" type="password" id="password" class="textbox" required=""></div>
<input name="a" type="hidden" value="register"><input name="wpmem_reg_page" type="hidden" value="http://newt.news/newsletter/politika/">
<div class="req_register_text">뉴트미디어의 <a href="#"><span>이용약관</span></a> 및 <a href="#"><span>개인정보처리방침</span></a>을 확인하였으며 이에 동의합니다</div>
<div class="button_div"><input name="submit" type="submit" value="동의하고 회원가입" class="buttons" id="politika_submit"></div>
<div class="req-text"><span class="req">*</span>필수입력</div>
</fieldset>
</form>
</div>
';
return $form;
}
아무래도 폼 양식 전체를 추가하면 오류가 발생하는 것 같습니다.
폼 양식 전체를 추가한 뒤에 여러 번 문제 없는 것 테스트 했는데, 다음 날 다시 테스트하면 항상 폼 처리 중 에러가 있다는 문구만 뜨네요.
지금 필요한 기능은
1. 회원가입 버튼 바로 위에 개인정보 처리 방침 등 안내문을 적기 위한 div박스 하나 추가,
2. 회원가입 버튼 CSS 커스터 마이징을 위해 id 추가 정도라서..
다른 함수로 대체할 수 있는 방법이 있을까요?
안녕하세요~^^
올려주신 코드를 확인해보니
_wpmem_register_nonce 쪽 코드가 문제 되는 듯합니다.
고정된 값이 아닌 wp_nonce_field 함수를 활용해주셔야 합니다.
또, 올려주신 코드를 적용하면 회원정보 수정 시에도 저장된 값이 표시되지 않습니다.
회원가입 버튼 위에 개인정보 처리 방침 등 별도의 코드를 추가하고
회원가입 버튼에 class나 id를 추가하시려면
wpmem_register_form_args 필터를 활용하시는 게 더 간단할 듯합니다.
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 활용해보시겠어요?
add_filter('wpmem_register_form_args', 'my_register_form_row_wrapper', 10, 2);
function my_register_form_row_wrapper($args, $tag){
$args = array(
'button_class' => 'buttons costom-button',
'buttons_before' => '<div class="button_div"><div>버튼위에 추가됩니다.</div>'
);
return $args;
}
wpmem_register_form_args 필터에 대한 자세한 내용은
아래의 링크를 참고해보세요.
https://rocketgeek.com/plugins/wp-members/docs/filter-hooks/wpmem_register_form_args/
고맙습니다.