안녕하세요.
회원가입 폼을 뜯으면서 문제가 생겨서 문의드립니다.
functions.php에서
add_filter('wpmem_register_form', 'my_register_form_filter', 10, 4);
function my_register_form_filter($form, $toggle, $rows, $hidden) {
$form = '<form><div class="wp_join_area">
<label for="username" class="text">아이디<span class="req">*</span></label>
<div class="div_text"><input name="username" type="text" id="username" value="" class="textbox" required=""></div>
<input name="submit" type="submit" value="회원가입" class="buttons">
</div></form>';
return $form;
}
이런식으로 폼화면을 수정 후 회원정보수정 페이지에서
회원가입한 정보(value)가 안들어가져 있고, 버튼 문구도 '회원가입'으로 나옵니다.
정보(value)값이 다 들어가면서 버튼문구도 '정보수정하기'로 바꿀 수 있는 방법이 있을까요?
안녕하세요~^^
wpmem_register_form 필터 사용 시 회원가입 페이지나 회원정보 페이지에서만
코드를 실행되게 하시려면 $toggle 파라미터를 활용해보시겠어요?
예제 코드를 아래와 같습니다.
add_filter('wpmem_register_form', 'wpmem_register_form_20200716', 10, 4);
function wpmem_register_form_20200716($form, $toggle, $rows, $hidden){
if($toggle == 'new'){
// 회원가입 페이지에서만 실행됩니다.
}
if($toggle == 'edit'){
// 회원정보 페이지에서만 실행됩니다.
}
return $form;
}
wpmem_register_form 필터에 대한 자세한 내용은
아래의 링크를 참고해보세요.
https://rocketgeek.com/plugins/wp-members/docs/filter-hooks/wpmem_register_form/
고맙습니다.
회원정보페이지에서 회원가입시 입력했던 정보를 불러오는 방법은 어떻게 해야할까요?
회원정보 페이지에서 회원가입 시 입력한 사용자 정보를 가져오시려면
워드프레스 내장 함수인 get_userdata와 get_user_meta 함수를 활용해보시겠어요?
자세한 내용은 아래 링크를 참고해보세요.
https://developer.wordpress.org/reference/functions/get_userdata/
https://developer.wordpress.org/reference/functions/get_user_meta/
고맙습니다.
함수를 사용할려고 하니
if($toggle == 'edit'){
$form = '<div class="cosmosfarm-members-form signup-form default">
<input name="username" type="text" id="username" value="" class="textbox" required="">'
}
따옴표 안에 코딩이 되어 있어서 value값이 그냥 입력한대로만 나오더라구요.
value값을 불러오기만 하면 댈 것 같은데.. 다른방법 있을까요?
프로그램 코드를 올려야 할 경우 에디터의 코드 스니펫 삽입 기능을 사용해주세요.
올려주신 코드에서 사용자명을 가져오는 방법은
아래의 코드를 활용해보시겠어요?
add_filter('wpmem_register_form', 'wpmem_register_form_20200716', 10, 4);
function wpmem_register_form_20200716($form, $toggle, $rows, $hidden){
if($toggle == 'edit'){
$user = get_userdata(get_current_user_id());
$form = '<div class="cosmosfarm-members-form signup-form default">
<input name="username" type="text" id="username" value="'.$user->user_login.'" class="textbox" required="">';
}
return $form;
}
고맙습니다.
감사합니다~