안녕하세요.
[1] 아이디 길이 제한(몇자에서 몇자사이) 설정이 필요합니다.
플러그인을 쓰고 있는데 이왕이면 기능이나 functions.php에 코드로 수정하는 방법을 알고 싶습니다.
[2] 닉네임 길이 제한 및 nickname이 display_name이 되도록
닉네임은 정규식으로 제한을 두고 있는데 이것 역시 길이에 제한을 두고 싶습니다.
그리고 nickname이 display_name에 자동으로 들어갔으면 좋겠습니다.
현재는 functions.php에 코드를 삽입해서 nickname이 자동으로 display_name이 되도록 하고 있습니다.
[3] 긴급, 닉네임이나 이메일 등을 마음대로 수정 못하도록
닉네임, 이메일 등을 수정했을 때 다음 수정까지 기간 제한을 두고 싶습니다.
예를 들어 '~일 이내에 닉네임 수정 불가' 등입니다.
1,2번은 대충 해결해서 쓰고 있지만 3번은 지금 알아보고 있습니다.
안녕하세요~^^
회원가입 페이지는 어떤 플러그인을 사용 중이신지요?
플러그인에 따라 설정 방법이 다를 수도 있습니다.
사용 중이신 플러그인을 알려주시면
도움 드릴 방법을 찾아보겠습니다.
고맙습니다.
회원가입 플러그인
- wp members + 코스모스팜
아이디 길이 제한
- Restrict Usernames Emails Characters
나머지 자잘한 기능들은 functions.php에 간단한 코드를 넣어서 쓰고 있습니다.
감사합니다.
안녕하세요.
회원가입 시 특정 필드 길이 제한 코드는
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해보시겠어요?
add_action('wp_head', 'my_wp_head');
function my_wp_head(){
$page_id = get_the_ID();
if($page_id == '1'){ // 실제 페이지 ID로 적용해주세요.
?>
<script>
jQuery(document).ready(function(){
jQuery('#username').blur(function(){
console.log('test');
if(jQuery('#username').val().length > 10 || jQuery('#username').val().length < 4){
jQuery('#username').focus();
if(jQuery('.username-length').length == 0){
jQuery('#username').after('<span class="username-length" style="color: red;">사용자명은 4~10자로 구성해주세요.</span>');
jQuery('.username-length').fadeOut(3000, function(){
jQuery('.username-length').remove();
});
}
}
});
});
</script>
<?php
}
}
위의 코드에서 $page_id == '1' 부분은 실제 페이지 ID로 적용해보세요.
워드프레스에서 페이지 ID를 찾는 방법은 아래 블로그 링크를 확인해주세요.
회원가입 시 입력한 닉네임이 워드프레스 공개적으로 표시할 이름(display_name)으로 설정되는 건
아래의 링크를 참고해보세요.
https://www.cosmosfarm.com/threads/document/36627
필드 수정 기간을 두는 건 현재 지원하지 않는 기능입니다.
저희도 연구를 해봐야 할 듯합니다.
좋은 방법을 찾게 되면 다시 안내해드리겠습니다.
고맙습니다.
답변 감사드립니다.
1. 스크립트를 이용해서 제한하는 거 외에 php코드로 막는 방법은 없는 건가요?
2. display_name와 nickname 필드가 동시에 적용되어야 했기때문에 다른 간단한 코드로 해결했습니다.
PHP 코드로 적용하시려면
WP-Members 플러그인의 wpmem_pre_validate_form 필터를 활용해보시겠어요?
wpmem_pre_validate_form 필터에 대한 자세한 내용은
아래의 링크를 참고해보세요.
https://rocketgeek.com/plugins/wp-members/docs/filter-hooks/wpmem_pre_validate_form/
고맙습니다.
해결했습니다. 감사합니다.