게시글 IP주소를 1개 안보이도록 했는데, IP주소 2개를 안보이도록 할 수 있는지요?

안녕하세요.

이전 질문글에서 답을 얻어 항상 해결하고 있습니다.

이번 질문도 이전 게시글에 있긴 있는데, 해당 질문글은 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})";
	}
}
?>
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기