코스모스팜 회원관리-회원정보 수정에서 필드를 숨기는 기능 문의

사이트 : 링크

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;
    }

    고맙습니다.

  • 뒤늦게 남아 큰 도움에 정말 감사드립니다.

    마지막 해당 부분은 적용 후에도 텍스트 부분이 출력이 되나 텍스트 문구가 위치 조절이 전혀 불가능하여서

    텍스트 부분을 빼고 진행하였습니다!.

    친절한 도움에 다시 한번 감사 인사 드립니다.

     

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