[wpmem_form register]를 사용하여 회원가입 페이지 생성을 하는데,
주소정보까지 기입하기엔 양식이 너무 길어져서 주소정보는 뻈습니다.
사용자들이 추후에 주소를 입력할 수 있도록 하고 싶은데 어떡해야 할까요?
현재는 [wpmem_profile register=hide]로 만든 프로필 페이지에서 "내 정보 수정"을 누를 경우
회원가입 시 보였던 필드들만 보이는 상태입니다.
안녕하세요~^^
코스모스팜 회원관리는 WP-Members 플러그인과 연동되어 동작합니다.
WP-Members 플러그인의 필드 설정은 회원가입과
내정보 수정 모두에 표시 되기 때문에 필드 설정만으로는 필드를 다르게 표시하기 어렵습니다.
WP-Members 플러그인의 필터를 사용하여 다르게 표시할 수 있습니다.
wpmem_register_form_args 필터는 회원가입 필드의 전체적인 설정을 변경할 수 있습니다.
wpmem_register_fields_arr 필터는 회원가입 필드들 각각의 설정을 변경할 수 있습니다.
wpmem_register_form_rows 필터는 회원가입 필드가 출력되기 직전의 설정과 필드의 HTML 태그를 변경할 수 있습니다.
WP-Members 플러그인의 전체 액션과 필터 정보는 아래 페이지에서 확인 가능합니다.
https://rocketgeek.com/plugins/wp-members/docs/filter-hooks/
아래의 코드처럼 $toggle 값을 활용하시면 회원가입 페이지에만 코드를 적용하실 수 있습니다.
add_filter('wpmem_register_form_args', 'wpmem_register_form_args_20220225', 10, 2);
function wpmem_register_form_args_20220225($args, $toggle){
if($toggle == 'new'){
...
}
return $args;
}
add_filter('wpmem_register_form_rows', 'wpmem_register_form_rows_20220225', 10, 2);
function wpmem_register_form_rows_20220225($rows, $toggle){
if($toggle == 'new'){
...
}
return $rows;
}
add_filter('wpmem_register_form', 'wpmem_register_form_20220225', 10, 4);
function wpmem_register_form_20220225($form, $toggle, $rows, $hidden){
if($toggle == 'new'){
...
}
return $form;
}
$toggle == 'edit 으로 작성하면 내정보 수정 페이지에서
동작하는 코드를 작성하실 수 있습니다.
고맙습니다.