회원정보 관련 문의 드립니다.

회원정보에 들어가면 내 정보수정 들어가서 변경 할 수 있게 되어 있는데, 

전화번호가 표시는 되는데 변경 할수는 없게 하는 방법이 있을까요?

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

    KBoard 플러그인 관련된 글이 아니라면

    워드프레스 카테고리에 올려주시길 부탁드립니다.

    워드프레스 -> KBoard 카테고리로 이동하도록 하겠습니다.

     

    코스모스팜 회원관리 플러그인 회원정보 페이지를 말씀하시는 건지요?

    코스모스팜 회원관리 플러그인은 WP-Members 플러그인의 확장 플러그인으로

    회원가입이나 회원정보에 표시되는 필드들은 WP-Members 플러그인 쪽에서 설정하실 수 있습니다.

     

    워드프레스 관리자 -> 설정 -> WP-Members -> 필드 탭에서 필드를 관리하실 수 있습니다.

    고맙습니다.

  •  

    네 코스모스팜 회원관리 플러그인 입니다.  wp-members 필드 쪽에 가면 확인이 되는데 

    한번 입력 한거는 관리자가 아니면 수정이 안되게 하는 방법을 알고 싶습니다.

    예) 가입시 닉네임 입력 후 변경 불가 하게 만드는 방법이요

  • 회원정보 페이지에서 표시되는 텍스트 필드를 사용자가 수정할 수 없게 하시려면

    텍스트 필드에 readonly 속성을 추가해주셔야 할 듯합니다.

    wpmem_register_form_rows 필터를 활용해보시겠어요?

    예제 코드는 아래와 같습니다.

    add_filter('wpmem_register_form_rows', 'wpmem_register_form_rows_20210224', 10, 2);
    function wpmem_register_form_rows_20210224($rows, $toggle){
    	if($toggle == 'edit'){
    		$meta_key = '메타키'; // 실제 필드의 메키타로 적용해보세요.
    		$rows[$meta_key]['field'] = '<input name="'.$meta_key.'" type="text" id="'.$meta_key.'" value="'.$rows[$meta_key]['value'].'" class="textbox" readonly>';
    	}
    	
    	return $rows;
    }

    위의 코드에서 메타키는 실제 입력 필드의 메타키로 적용해보세요.

     

    테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.

    고맙습니다.

  • 안녕하세요.

    내계정 페이지에서 이메일만 수정 불가능하게 할 수 있을까요?

  • 내 정보 수정 페이지에서

    이메일만 수정이 불가능하게 하시려면 이전 댓글에 안내해드린 코드 중

    '메타키' 부분에 'user_email'로 적용해보시겠어요?

     

    필드 메타키는 WP-Members 플러그인 쪽에서 확인 가능합니다.

    워드프레스 관리자 -> 설정 -> WP-Members -> 필드 탭에서

    메타키를 확인해보실 수 있습니다.

    고맙습니다.

  • 아래와 같이 적용을 했는데 적용 이후 홈페이지에 치명적이 오류가 있다고 뜹니다

    뭔가 잘못한걸까요?


    add_filter('wpmem_register_form_rows', 'wpmem_register_form_rows_20210224', 10, 2);
    function wpmem_register_form_rows_20210224($rows, $toggle){
        if($toggle == 'edit'){
            $meta_key = 'user_email;
            $rows[$meta_key]['field'] = '<input name="'.$meta_key.'" type="text" id="'.$meta_key.'" value="'.$rows[$meta_key]['value'].'" class="textbox" readonly>';
        }
    return $rows; }

  • 프로그램 코드를 올려야 할 경우 에디터의 코드 스니펫 삽입 기능을 사용해주세요.

    올려주신 코드를 확인해보니 코드를 잘못 수정하셨습니다.

    'user_email; 부분을 'user_email';로 교체해보시겠어요?

    고맙습니다.

  • 네~ 말씀해 주신 부분 적용하니 이메일은 수정할 수 없게 변경이 되었는데요

    변경 할 수 없는 이메일 인풋박스에도 중복확인 버튼이 있네요.

    중복확인 버튼을 없애는 방법은 없을까요?

  • 안녕하세요.

    중복확인 버튼을 안 보이게 하시려면

    필터의 코드가 실행되는 순서를 변경해주셔야 할 듯합니다.

     

    코드를 아래와 같이 적용하셨다면

    add_filter('wpmem_register_form_rows', 'wpmem_register_form_rows_20210224', 10, 2);
    function wpmem_register_form_rows_20210224($rows, $toggle){
    	if($toggle == 'edit'){
    		$meta_key = 'user_email'; // 실제 필드의 메키타로 적용해보세요.
    		$rows[$meta_key]['field'] = '<input name="'.$meta_key.'" type="text" id="'.$meta_key.'" value="'.$rows[$meta_key]['value'].'" class="textbox" readonly>';
    	}
    	
    	return $rows;
    }

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

    add_filter('wpmem_register_form_rows', 'wpmem_register_form_rows_20210224', 999, 2);
    function wpmem_register_form_rows_20210224($rows, $toggle){
    	if($toggle == 'edit'){
    		$meta_key = 'user_email'; // 실제 필드의 메키타로 적용해보세요.
    		$rows[$meta_key]['field'] = '<input name="'.$meta_key.'" type="text" id="'.$meta_key.'" value="'.$rows[$meta_key]['value'].'" class="textbox" readonly>';
    	}
    	
    	return $rows;
    }

    고맙습니다.

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