회원정보에 들어가면 내 정보수정 들어가서 변경 할 수 있게 되어 있는데,
전화번호가 표시는 되는데 변경 할수는 없게 하는 방법이 있을까요?
안녕하세요~^^
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;
}
고맙습니다.