로그인 후의 프로필 페이지에서 패스워드 입력란의 표시가 이상합니다

위 사진의 좌측은 회원가입 페이지이면 우측은 로그인 후의 프로필 페이지입니다.

보시는 것처럼 패스워드 입력란이 이상하네요..ㅠㅠ

어떻게 해야할지 몰라 도움을 요청드립니다.

확인하실 수 있는 페이지는 

http://kyoungmoo223.xsrv.jp/register/

테스트용 아이디 및 비번은

아이디 test

비번 1234 입니다.

 

한가지 더 있습니다.

제일 위 이미지의 좌측 이미지에서 보시듯 회원가입 페이지의 아이디(ID)란에 중복체크 버튼이 나타나질 않습니다.

바로 위의 이미지에서 보시는 바와 같이 워드프레스 관리자 페이지 > 회원가입관리 > 중복확인 설정에 아이디란에는 사용으로 체크해둔 상태입니다.

이 부분은 어떻게 해야 할까요.

바쁘시겠지만 잘 부탁드립니다.

감사합니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    내 정보 수정 페이지에서 비밀번호는 직접 추가하신 것인지요?

    비밀번호 변경 페이지가 따로 있기 때문에 직접 추가하지 않으셔도 될 듯합니다.

    회원가입 페이지의 아이디(ID) 란에 중복체크 버튼이 표시되지 않는 문제는

    코스모스팜 회원관리 플러그인을 최신 버전으로 업데이트하신 후에 다시 확인해보시겠어요?

    KBoard(케이보드) 플러그인이 설치되어 있다면,

    워드프레스 관리자 -> 스토어 메뉴에서 설치하기 버튼을 눌러주시면 업데이트가 완료됩니다.

     

    KBoard(케이보드) 플러그인이 설치되지 않았다면,

    FTP로 접속해서 파일을 업로드(덮어쓰기) 해주셔야 합니다.

    /wp-content/plugins/cosmosfarm-members 경로에 최신 버전 파일을 업로드(덮어쓰기) 해주세요.

    고맙습니다.

  • 먼저 답변 주심에 감사드립니다.^^

    비밀번호는 따로 추가하지 않았구요.

    wp-members의 입력필드를 그대로 사용했으며, placeholder만 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" placeholder="半角英数字のみ" required>';
        }
        if(isset($rows['password'])){
            $rows['password']['field'] = '<input name="password" type="password" id="password" class="textbox" placeholder="半角英文字、数字、特殊記号の組み合わせ" required>';
        }
        if(isset($rows['confirm_password'])){
            $rows['confirm_password']['field'] = '<input name="confirm_password" type="password" id="confirm_password" class="textbox" placeholder="半角英文字、数字、特殊記号の組み合わせ" required>';
        }
        
        return $rows;
    }

    위 코드를 삽입하여 넣었습니다.

    그리고 코스모스팜 회원관리 플러그인은 무제한 라이센스 구입후 1년이 지나서 업데이트가 불가능한데, 업데이트 이외에는 방법이 없는건가요?ㅠㅠ

  • 기존의 코드 대신

    아래의 코드로 교체해보시겠어요?

    add_filter('wpmem_register_form_rows', 'my_register_form_rows', 999, 2);
    function my_register_form_rows($rows, $toggle){
    	if($toggle == 'new'){
    		if(isset($rows['username'])){
    			$rows['username']['field'] = '<div class="add-buttons">' . $rows['username']['field'] . '<div class="add-buttons-wrap"><button type="button" onclick="cosmosfarm_members_exists_check(\'' . 'username' . '\')">'.__('Check Availability', 'cosmosfarm-members').'</button></div></div>';
    		}
    		if(isset($rows['password'])){
    			$rows['password']['field'] = '<input name="password" type="password" id="password" class="textbox" placeholder="半角英文字、数字、特殊記号の組み合わせ" required>';
    		}
    		if(isset($rows['confirm_password'])){
    			$rows['confirm_password']['field'] = '<input name="confirm_password" type="password" id="confirm_password" class="textbox" placeholder="半角英文字、数字、特殊記号の組み合わせ" required>';
    		}
    	}
    	
    	return $rows;
    }

    고맙습니다.

  • 답변 감사드립니다.

    가르쳐주신대로 했더니 왼쪽 윗편에 new 라고 텍스트가 뜨는 현상이 생기더라구요.

    그리고 회원가입 페이지에서는 괜찮았는데, 프로필 페이지에서는 아이디입력창(사각형 창)이 사라지고 글씨만 보이는 현상이 발생했습니다.

    그리고 위 코드 중

    		if(isset($rows['password'])){
    			$rows['password']['field'] = '<input name="password" type="password" id="password" class="textbox" placeholder="半角英文字、数字、特殊記号の組み合わせ" required>';
    		}
    		if(isset($rows['confirm_password'])){
    			$rows['confirm_password']['field'] = '<input name="confirm_password" type="password" id="confirm_password" class="textbox" placeholder="半角英文字、数字、特殊記号の組み合わせ" required>';
    		}

    이 부분을 빼고 wp-members 입력필드에서 placeholder 를 수정했더니 패스워드 입력란 자체가 없어졌습니다.(아이디란의 placeholder 는 wp-members 입력필드에서 수정이 불가하여  코드를 그냥 남겨두었습니다.)

    이걸로 된 듯하여 그냥 이렇게 두었습니다.

    결과적으로

    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" placeholder="半角英数字のみ" required>';
        		}
    		if(isset($rows['username'])){
    			$rows['username']['field'] = '<div class="add-buttons">' . $rows['username']['field'] . '<div class="add-buttons-wrap"><button type="button" onclick="cosmosfarm_members_exists_check(\'' . 'username' . '\')">'.__('Check Availability', 'cosmosfarm-members').'</button></div></div>';
    		}
    	
    	return $rows;
    }

    이렇게 바꾸니 별 문제없이 되는 듯한데, 보기에 어떠신가요.

    제가 보기엔 문제없이 보입니다만, 혹시 제가 모르는 문제가 될만한 것이 보이시면 말씀해 주시길 부탁드립니다.

    감사드립니다.

  • 안녕하세요.

    다른 부분은 별 다른 문제가 없겠지만

    워드프레스에서 사용자명은 변경할 수 없기 때문에

    내 정보 수정 페이지에서는 아이디 입력 및 중복체크 버튼을 표시하지 않아야 할 듯합니다.

    고맙습니다.

  • 의견 감사합니다.
    생각해보니 그렇네요.
    다시 가르쳐주신대로 바꿔야겠네요 ㅎ
    감사합니다. ^^
  • 아래의 코드를 활용해보시겠어요?

    add_filter('wpmem_register_form_rows', 'my_register_form_rows', 999, 2);
    function my_register_form_rows($rows, $toggle){
    	if($toggle == 'new'){
    		// 회원가입 페이지에서 표시
    	}
    	if($toggle == 'edit'){
    		// 내 정보 수정 페이지에서 표시
    	}
    	
    	return $rows;
    }

    고맙습니다.

  • 넵. 감사합니다.
    코드를 몰라 될런지 모르겠지만 한번 해볼게요 ^^:
  • 역시 코딩을 모르니 안되네요...ㅠㅠ

    add_filter('wpmem_register_form_rows', 'my_register_form_rows', 999, 2);
    function my_register_form_rows($rows, $toggle){
    	if($toggle == 'new'){
    		// 회원가입 페이지에서 표시
    		if(isset($rows['username'])){
            		$rows['username']['field'] = '<input name="user_login" type="text" id="user_login" value="" class="textbox" placeholder="半角英数字のみ" required>';
        		}
    		if(isset($rows['username'])){
    			$rows['username']['field'] = '<div class="add-buttons">' . $rows['username']['field'] . '<div class="add-buttons-wrap"><button type="button" onclick="cosmosfarm_members_exists_check(\'' . 'username' . '\')">'.__('Check Availability', 'cosmosfarm-members').'</button></div></div>';
    		}
    	}
    	if($toggle == 'edit'){
    		// 내 정보 수정 페이지에서 표시
    
    	
    	return $rows;
    }

    위 코드중에 edit 부분에 들어갈 코드를 모르겠습니다.

    나름 여기저기 찾아보고 이것저것 대입해 보았는데 아무리 해도 안되네요..ㅠㅠ

    죄송합니다만 도움 주실 수 있으신지요.

    잘 부탁드립니다.

    감사드립니다.

  • 안녕하세요.

    wpmem_register_form_rows는 회원가입 또는 내 정보 수정 페이지의

    필드를 수정하는 필터입니다.

    내 정보 수정 페이지의 필드를 수정할 것이 아니라면

    edit 쪽 코드는 지우셔도 됩니다.

    고맙습니다.

  • 답변 감사드립니다.
    회원가입 페이지는 되었는데, 내 정보 수정 페이지의 아이디 옆의 중복체크 버튼을 삭제하고 싶어서 이리저리 해보았는데 잘 안되더라구요. . ㅠㅠ
    어떻게 하면 좋을지요. .
    잘 부탁드립니다.
    감사합니다.
  • 기존의 코드 대신 아래의 코드를 적용해보시겠어요?

    add_filter('wpmem_register_form_rows', 'my_register_form_rows', 999, 2);
    function my_register_form_rows($rows, $toggle){
    	if($toggle == 'new'){
    		// 회원가입 페이지에서 표시
    		if(isset($rows['username'])){
    			$rows['username']['field'] = '<input name="user_login" type="text" id="user_login" value="" class="textbox" placeholder="半角英数字のみ" required>';
    		}
    		if(isset($rows['username'])){
    			$rows['username']['field'] = '<div class="add-buttons">' . $rows['username']['field'] . '<div class="add-buttons-wrap"><button type="button" onclick="cosmosfarm_members_exists_check(\'' . 'username' . '\')">'.__('Check Availability', 'cosmosfarm-members').'</button></div></div>';
    		}
    	}
    	return $rows;
    }

    고맙습니다.

  • 답변 감사드립니다.

    그런데 안내해주신대로 변경해 봤는데도 내정보페이지에서의 아이디란 옆의 중복체크버튼은 사라지지 않네요.

    뭐가 문제일까요...ㅠㅠ

  • 안녕하세요.

    테마의 functions.php 파일에 추가한 코드를 백업해두시고

    직접 추가하신 코드를 지우신 후에도 확인을 해보셔야 할 듯합니다.

    그래도 해결이 안 되신다면

    아래의 코드로 교체해보시겠어요?

    add_filter('wpmem_register_form_rows', 'my_register_form_rows', 999, 2);
    function my_register_form_rows($rows, $toggle){
    	if($toggle == 'new'){
    		// 회원가입 페이지에서 표시
    		if(isset($rows['username'])){
    			$rows['username']['field'] = '<input name="user_login" type="text" id="user_login" value="" class="textbox" placeholder="半角英数字のみ" required>';
    		}
    		if(isset($rows['username'])){
    			$rows['username']['field'] = '<div class="add-buttons">' . $rows['username']['field'] . '<div class="add-buttons-wrap"><button type="button" onclick="cosmosfarm_members_exists_check(\'' . 'username' . '\')">'.__('Check Availability', 'cosmosfarm-members').'</button></div></div>';
    		}
    	}
    	if($toggle == 'edit'){
    		if(isset($rows['username'])){
    			$rows['username']['field'] = '<span>'.get_current_user().'</span>';
    		}
    	}
    	
    	return $rows;
    }

    고맙습니다.

  • 답변 감사합니다.

    가르쳐주신대로 했더니 프로필 페이지에서 아이디란의 중복체크버튼이 사라졌습니다.

    그런데 새로운 문제가 발생했습니다.

    유저명이 바뀌어버렸네요.

    제가 6월 4일에 쓴 댓글에 이미지 첨부한 것고 비교해보면 아시겠지만, 사용자명이 변경되어 버렸습니다..ㅠㅠ

    보니까 admin 계정의 이메일이  kyoungmoo223@~~~ 으로 되어있는데 이메일 계정을 가져온 듯 싶습니다....

    자꾸 번거롭게 하는것 같아 너무나 죄송합니다만, 이 문제는 어찌해야 할 지 몰라서 다시 부탁드립니다.

    감사합니다.

  • 안녕하세요.

    현재 적용돼 있는 코드 중에서

    아래의 코드를 찾아서

    get_current_user()

    아래의 코드로 교체해보시겠어요?

    get_userdata(get_current_user_id())->user_login;

    고맙습니다.

  • 일일이 답변 주셔서 감사드립니다.

    가르쳐주신 코드 중에서 ; 를 빼고 하니까 제대로 작동됩니다.

    고맙습니다~

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