https://www.cosmosfarm.com/threads/document/28494
이 스레드의 내용대로 하면 관리자를 포함한 누구에게나 아이피가 앞의 두자리만 표시됩니다.
https://www.cosmosfarm.com/threads/document/24254
이 스레드의 내용대로 하면 관리자 로그인시 전체 아이피를 확인할 수 있지만 일반유저는 아이피가 완전히 보이지 않습니다.
유저들은 앞의 두자리만 보고 관리자는 전체 아이피를 보려면 어떻게 수정해야 할까요?. 위의 둘을 나란히 function.php에 입력한 경우에는 첫번째의 기능이 작동하지 않더군요.
add_filter('kboard_document_add_option_value_field_html', 'my_kboard_document_add_option_value_field_html', 10, 4);
function my_kboard_document_add_option_value_field_html($value_html, $field, $content, $board){
if($field['meta_key'] == 'ip'){
$value_html = '<div class="kboard-document-add-option-value meta-key-ip"><span class="option-name">IP 주소</span> : '.preg_replace('!(\d+).(\d+).\d+.\d+!s', '${1}.${2}', $content->option->ip).'</div>';
}
return $value_html;
}
//아이피 앞 두자리 보이게
add_filter('kboard_document_add_option_value_field_data', 'my_kboard_document_add_option_value_field_data', 10, 3);
function my_kboard_document_add_option_value_field_data($field, $content, $board){
if(isset($field['meta_key']) && $field['meta_key'] == 'ip' && !$board->isAdmin()){
return array();
}
return $field;
}
//게시판 작성자의 아이피를 게시글본문페이지에서 관리자에게만 표시되게
현재는 댓글 쪽에서는 입력 필드 설정 기능을 지원하지 않고 있습니다.
추후 연구 개발하여 업데이트하도록 하겠습니다.
고맙습니다.
원하는 대로 작동됩니다. 감사합니다 -_-b
이와는 별개로 혹시 댓글쪽도 입력필드 등을 설정할 수 있게 업데이트 할 계획이 있으신가요?
댓글도 위와 같은 과정을 적용시키고 싶은데, 스레드를 검색해보니 여러 파일들을 건드려야 하는 것 같아서 엄두가 안나네요. 본문처럼 테마편집기에서 한번에 고칠 수 있는 방식이 가능하면 좋겠습니다.
안녕하세요~^^
KBoard 기본 필드인 IP 주소 필드를 게시글 본문 페이지에서
관리자는 전체 아이피를 볼 수 있게 하시려면
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해보시겠어요?
add_filter('kboard_document_add_option_value_field_html', 'my_kboard_document_add_option_value_field_html', 10, 4);
function my_kboard_document_add_option_value_field_html($value_html, $field, $content, $board){
if($board->id == '1' && !$board->isAdmin() && $field['meta_key'] == 'ip'){
$value_html = '<div class="kboard-document-add-option-value meta-key-ip"><span class="option-name">IP 주소</span> : '.preg_replace('!(\d+).(\d+).\d+.\d+!s', '${1}.${2}', $content->option->ip).'</div>';
}
return $value_html;
}
위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해주세요.
$board->isAdmin() 코드는 게시글의 작성자인지 체크하는 코드입니다.
고맙습니다.