사이트 : 링크
ID/PW : test1111 / test1111
문의사항
로그인 후 회원 정보를 수정하고자 페이지를 만들었습니다.
[wpmem_form user_edit] 숏코드로 해당 페이지 생성 후에... 접속 해보니..
1 - ID 부분은 불러오지를 못하고 있는 상태
- ID를 불러올 수 있다면 해당 아이디는 고정으로 수정이 불가능하게 표시하고자 함 / 이 부분이 힘들 경우에는 숨김 처리 역시 생각 중입니다.)
2 - 비밀번호는 글자가 표시가 안됨 (해당 부분을 숨김 처리 하고 싶음)
위 2가지 사항에 대해서 도움을 받고자 합니다.
안녕하세요~^^
테마의 functions.php 파일에 코드를 직접 추가하셨다면
어떤 코드인지 올려주시겠어요?
코드를 추가해주실 땐 에디터에서 코드 스니펫 삽입 기능을 사용해주시길 부탁드립니다.
고맙습니다.
/* 회원 가입*/
add_filter('wpmem_register_form_rows', 'my_register_form_rows', 999, 2);
function my_register_form_rows($rows, $toggle){
if(isset($rows['username'])){
$rows['username']['field'] = '<input name="user_login" type="text" id="user_login" value="" class="textbox" required style="float:left;"> <div style="padding-top:10px;"><span style="padding-left:20px;">(영문 소문자/숫자, 4자리~16자리)</span></div><div style="clear:both;"></div>';
}
if(isset($rows['password'])){
$rows['password']['field'] = '<input name="password" type="password" id="password" class="textbox" required style="float:left;"> <div style="padding-top:10px;"><span style="padding-left:20px;">(영문 소문자/숫자, 4자리~16자리)</span></div><div style="clear:both;"></div>';
}
if(isset($rows['confirm_password'])){
$rows['confirm_password']['field'] = '<input name="confirm_password" type="password" id="confirm_password" class="textbox" required style="float:left;"> <div style="padding-top:10px;"><span style="padding-left:20px;">(영문 소문자/숫자, 4자리~16자리)</span></div><div style="clear:both;"></div>';
}
if(isset($rows['zip'])){
$rows['zip']['field'] = '<input name="zip" class="textbox cursor-pointer" id="zip" onclick="cosmosfarm_members_open_postcode()" type="text" readonly="" value="" size="10" style="float:left;"> <div style=""><span style="padding-left:20px;"><input type="button" value="우편번호 검색" onclick="cosmosfarm_members_open_postcode()"></span></div><div style="clear:both;"></div>';
}
if(isset($rows['smscheck'])){
$rows['smscheck']['field'] = '<input name="smscheck" type="checkbox" id="smscheck" value="yes" add_font_reduired="" style="float:left; margin-top:15px;"> <div><span style="float:left; padding:10px 0 10px 5px;">동의함<br/>쇼핑몰에서 제공하는 유익한 이벤트 소식을 SMS으로 받으실 수 있습니다.</span></div><div style="clear:both;"></div>';
}
if(isset($rows['user_email'])){
$rows['user_email']['field'] = '<input name="user_email" type="email" id="user_email" value="" class="">';
}
if(isset($rows['emailcheck'])){
$rows['emailcheck']['field'] = '<input name="emailcheck" type="checkbox" id="emailcheck" value="yes" add_font_reduired="" style="float:left; margin-top:15px;"> <div><span style="float:left; padding:10px 0 10px 5px;">동의함<br/>유익한 이벤트 소식을 이메일로 받으실 수 있습니다.</span></div><div style="clear:both;"></div>';
}
return $rows;
}
add_filter('wpmem_register_form_args', 'my_register_form_args', 10, 2);
function my_register_form_args($args, $toggle){
$args = array(
'heading_before' => '<div class="cosmosfarm-req-text" style="padding:0 0 20px 0;"><span class="req" >* 표시는 필수 입력 사항입니다.</span>',
'heading_after' => '</div>'
);
return $args;
}
add_filter('wpmem_register_heading', 'my_wpmem_register_heading', 10, 2);
function my_wpmem_register_heading($text, $tag){
return '';
}
현재 이렇게 작업해놓은 상태입니다.
wpmem_register_form_rows 필터를 회원가입 페이지에만 적용하시려면
아래의 코드를 활용해보시겠어요?
add_filter('wpmem_register_form_rows', 'my_register_form_rows', 999, 2);
function my_register_form_rows($rows, $toggle){
if($toggle == 'new'){
// 회원가입 페이지에서 표시됩니다.
}
return $rows;
}
고맙습니다.
감사합니다. 덕분에 해당 문제는 잘 해결했습니다.
다만 한가지 더 궁금한 사항이 있습니다.
1 - 회원 가입시 체크박스에 체크 (SMS 수신 동의, 이메일 수신 동의)
2 - 체크 박스 옆에 문구들이 있어서 아래 소스와 같이 현재 불러온 상태입니다.
if($toggle == 'edit'){
// 회원 정보 수정 페이지에서 표시됩니다.
if(isset($rows['smscheck'])){
$rows['smscheck']['field'] = '<input name="smscheck" type="checkbox" id="smscheck" value="1" add_font_reduired="" style="float:left; margin-top:15px;"> <div><span style="float:left; padding:10px 0 10px 5px;">동의함<br/>쇼핑몰에서 제공하는 유익한 이벤트 소식을 SMS으로 받으실 수 있습니다.</span></div><div style="clear:both;"></div>';
}
if(isset($rows['emailcheck'])){
$rows['emailcheck']['field'] = '<input name="emailcheck" type="checkbox" id="emailcheck" value="1" add_font_reduired="" style="float:left; margin-top:15px;"> <div><span style="float:left; padding:10px 0 10px 5px;">동의함<br/>유익한 이벤트 소식을 이메일로 받으실 수 있습니다.</span></div><div style="clear:both;"></div>';
}
}
회원가입 또는 회원정보 페이지에서
필드 아래에 설명을 추가하시려면
아래의 코드를 활용해보시겠어요?
add_filter('wpmem_register_form_rows', 'my_register_form_rows', 999, 2);
function my_register_form_rows($rows, $toggle){
if(isset($rows['smscheck'])){
$rows['smscheck']['row_after'] = '<div>쇼핑몰에서 제공하는 유익한 이벤트 소식을 SMS으로 받으실 수 있습니다.</div>';
}
if(isset($rows['emailcheck'])){
$rows['emailcheck']['row_after'] = '<div>유익한 이벤트 소식을 이메일로 받으실 수 있습니다.</div>';
}
return $rows;
}
고맙습니다.
뒤늦게 남아 큰 도움에 정말 감사드립니다.
마지막 해당 부분은 적용 후에도 텍스트 부분이 출력이 되나 텍스트 문구가 위치 조절이 전혀 불가능하여서
텍스트 부분을 빼고 진행하였습니다!.
친절한 도움에 다시 한번 감사 인사 드립니다.