<?php echo $content->option->ip?>
이걸 사용해서 아이피를 구현했습니다.
다만 아이피가 훤히 드러나더군요 ㅠ
질문드려봅니다.
관리자의 아이피를 감추는 것도
<?php if($content->member_uid != '1' || $board->isAdmin()):?><?php echo $content->option->ip?><?php endif?>
찾았습니다.
다만
로그인한 멤버의 아이피 감추기와
로그아웃하지 않은 비회원의 아이피를 123.123.*.*
이런식으로 출력하고 싶은데 어떤 형식으로 만들면 좋을까요?
안녕하세요~^^
로그인한 멤버의 아이피를 감추시려면 우선 로그인 여부를 판단해야합니다.
로그인 여부는 워드프레스에서 제공하는 is_user_logged_in() 코드를 활용해보세요.
자세한 내용은 아래 링크를 참고해보세요.
https://developer.wordpress.org/reference/functions/is_user_logged_in/
비회원의 아이피를 123.123.*.* 형식으로 출력하시려면
FTP로 접속해서 /wp-content/themes/사용중인테마/functions.php 파일에 아래의 코드를 추가해보세요.
function non_member($ip){
$non_member = substr($ip, 0, 8) . '*.*';
return $non_member;
}
아이피를 표시하는 페이지의 파일에 아래의 코드를 적절히 수정해보세요.
<?php if(!is_user_logged_in()){ echo non_member(kboard_user_ip()); }?>
고맙습니다.
답변 감사드립니다.
다만 말씀대로 처리해보니 로그인한 제 아이피가 뜨더군요 ㅠㅠㅠ
비회원 글쓰기와 회원 글쓰기가 있다고 했을때
회원으로 글을 쓰면 kboard DOCUMENT.php에 아이피가 안남고
비회원으로 글을 쓰면 kboard DOCUMENT.php에 비회원의 아이피가 남아야 하는 상황입니다.ㅠㅠ
아 *.* 표시 부분은
<?php echo $content->option->ip = '(' . substr($content->option->ip, 0, 8) . '*.*' . ')';?>
이렇게 처리해봤습니다. 맞는지 아닌지는 모르겠지만 일단 정상적으로 표시되긴 하네요. :))
안녕하세요~^^
따로 ip 필드를 추가하지 않으셔도 kboard_user_ip() 코드를 통해 ip를 출력할 수 있습니다.
그리고 워드프레스에서 제공하는 is_user_logged_in() 코드로 로그인 여부를 체크할 수 있습니다.
<?php if(!is_user_logged_in()){ echo non_member(kboard_user_ip()); }?>
위 코드의 실행 순서는
1. 로그인/비로그인(비회원) 상태를 체크합니다.
2. 비로그인(비회원)이라면 non_member() 코드를 호출합니다.
3. non_member() 코드에서 kboard_user_id() 코드로 호출한 아이피를 '123.123.*.*' 형태로 출력합니다.
고맙습니다.