안녕하세요.
이전 질문글에서 답을 얻어 항상 해결하고 있습니다.
이번 질문도 이전 게시글에 있긴 있는데, 해당 질문글은 IP 주소 4자리 중 2번째 주소 1개만 안보이도록 하는 방법이었습니다.
4개의 IP주소 중 1번째 및 2번째 주소도 안보이도록 (별표처리) 할 수 있는지요?
이전 답변해주셨던것처럼 소스코드를 각각 테마파일 및 코멘트 php 파일에 업데이트해서 IP주소 중 2번째 자리는 별표처리되어 잘 나타나고 있습니다.
add_filter('kboard_document_add_option_value_field_html', 'kboard_document_add_option_value_field_html_20201102', 10, 4);
function kboard_document_add_option_value_field_html_20201102($html, $field, $content, $board){
$meta_key = isset($field['meta_key']) ? $field['meta_key'] : '';
$field_name = isset($field['field_name']) ? $field['field_name'] : $field['field_label'];
if($board->id == '1' && $meta_key == 'ip' && $content->option->{$meta_key}){ // 실제 게시판 id로 적용해주세요.
$value = array();
$value = explode('.', $content->option->ip);
if(isset($value[1]) && $value[1]){
$strlen = mb_strlen($value[1], 'utf-8');
$value[1] = str_repeat('*', $strlen);
$value = implode('.', $value);
$html = '<div class="kboard-document-add-option-value meta-key-'.$meta_key.'"><span class="option-name">'.$field_name.'</span> : '.$value.'</div><hr>';
}
}
return $html;
}
위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해주세요.
테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.
댓글에도 아이피를 표시하고 게시글 본문에서 표시되는 것처럼 적용하시려면
아래의 코드도 추가해보세요.
add_action('kboard_comments_field', 'my_kboard_comments_field', 10, 4);
function my_kboard_comments_field($field_html, $board, $content_uid, $commentBuilder){
if($board->id == '1'){ // 실제 게시판 id로 적용해주세요.
?>
<input type="hidden" name="comment_option_ip" value="<?php echo kboard_user_ip()?>">
<?php
}
}
위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해주세요.
FTP로 접속해서 /wp-content/plugins/kboard-comments/skin/사용중인스킨/list-template.php 파일에
아래의 코드를 찾아서
<?php echo $comment->getUserDisplay()?>
찾은 코드 밑에 아래의 코드를 추가해보세요.
<?php
if($comment->option->ip){
$value = array();
$value = explode('.', $comment->option->ip);
if(isset($value[1]) && $value[1]){
$strlen = mb_strlen($value[1], 'utf-8');
$value[1] = str_repeat('*', $strlen);
$value = implode('.', $value);
echo "({$value})";
}
}
?>