전에 여러 코드들을 커뮤니티에서 찾아서 했는데요.
지금은 어제 업데이트 한이후
게시글은 아이피가 보이는데
댓글 에 아이피가 보이지 않습니다.
그리고 게시글 작성자 아이피와 댓글아이피를 모든 게시판에 관리자만 볼수 있게 하고 싶은데요
어떻게 해야 할까요?
지금 버젼은 이렇습니다
바빠서 어제 업데이트를 했더니 다 사라져 버렸어요 ㅜㅜ
안녕하세요~^^
최신 버전 KBoard 플러그인에서 댓글 쪽 IP를 관리자만 볼 수 있게 하시려면
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해보시겠어요?
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($board->isAdmin() && $comment->option->ip):?>(<?php echo $comment->option->ip?>)<?php endif?>
KBoard 댓글 플러그인 4.6 이전 버전에서 적용하는 방법은
아래의 링크를 참고해보세요.
https://www.cosmosfarm.com/threads/document/37543
고맙습니다.
제가 원하는것은 일단 모든 게시판과 모든게시물 의 게시물작성자 모든 댓글의 작성자의 아이피를 관리자만 보게 하고 싶습니다.
좀 도와주세요 ㅜㅠ
지금 이렇게 되어 있는데 좀 도와주시면 감사하겠습니다
//아이피주소관리자만 확인
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;
}
// 익명 암호화
add_action('kboard_document_insert', 'my_kboard_document_insert', 10, 4);
function my_kboard_document_insert($content_uid, $board_id, $content, $board){
{ if($board->id == '1')// 실제 게시판 id로 적용해주세요.
if(!is_user_logged_in()){
$content->option->ip = kboard_user_ip();
}
$content->member_display = uniqid();
$content->updateContent();
}
}
add_action('kboard_comments_insert', 'my_kboard_comments_insert', 10, 3);
function my_kboard_comments_insert($insert_id, $content_uid, $board){
if($board->id == '1'){ // 실제 게시판 id로 적용해주세요.
$content = new KBContent();
$content->initWithUID($content_uid);
$comment = new KBComment();
$comment->initWithUID($insert_id);
if(is_user_logged_in()){
if($comment->user_uid == $content->member_uid){
$comment->user_display = $content->member_display . ' (작성자)';
}
}
else if($content->option->ip == kboard_user_ip()){
$comment->user_display = $content->member_display . ' (작성자)';
}
$comment->update();
}
}
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
}
}
//스크롤 위로
add_action('kboard_skin_header', 'my_kboard_skin_header', 10, 1);
function my_kboard_skin_header($builder){
$board = $builder->board;
if($board->id == '1'){
?>
<script>
jQuery(document).ready(function(){
parent.jQuery('html, body').scrollTop(0);
});
</script>
<?php
}
}
일단 게시판1 개에 댓글과 게시글에 아이피가 보이기는합니다 하지만 이걸 전체 게시판(공지사항, 자유게시판 등등) 에 적용하려면 어떻게 해야하나요
전체 게시판에 적용하시려면
올려주신 코드 중 아래에서 생략된 부분만 남기고 지워보시겠어요?
if($board->id == '1'){
...
}
고맙습니다.
if($board->id == '1'){
...
}
전체 게시판에 적용하시려면
올려주신 코드 중 아래에서 생략된 부분만 남기고 지워보시겠어요?
라고 말씀하셨는데 잘이해가 가지 않습니다.
ㅜㅜ
그리고 비슷한 if 로 시작하는것이 많아서 ㅜㅜ
정확하게 알려주시면 정말 정말 감사할거 같아요 ~~~!!
특정 게시판이 아닌 모든 게시판에 적용하시려면
올려주신 코드 중 아래의 코드대신
// 익명 암호화
add_action('kboard_document_insert', 'my_kboard_document_insert', 10, 4);
function my_kboard_document_insert($content_uid, $board_id, $content, $board){
{ if($board->id == '1')// 실제 게시판 id로 적용해주세요.
if(!is_user_logged_in()){
$content->option->ip = kboard_user_ip();
}
$content->member_display = uniqid();
$content->updateContent();
}
}
add_action('kboard_comments_insert', 'my_kboard_comments_insert', 10, 3);
function my_kboard_comments_insert($insert_id, $content_uid, $board){
if($board->id == '1'){ // 실제 게시판 id로 적용해주세요.
$content = new KBContent();
$content->initWithUID($content_uid);
$comment = new KBComment();
$comment->initWithUID($insert_id);
if(is_user_logged_in()){
if($comment->user_uid == $content->member_uid){
$comment->user_display = $content->member_display . ' (작성자)';
}
}
else if($content->option->ip == kboard_user_ip()){
$comment->user_display = $content->member_display . ' (작성자)';
}
$comment->update();
}
}
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
}
}
아래의 코드로 교체해서 확인해보시겠어요?
// 익명 암호화
add_action('kboard_document_insert', 'my_kboard_document_insert', 10, 4);
function my_kboard_document_insert($content_uid, $board_id, $content, $board){
if(!is_user_logged_in()){
$content->option->ip = kboard_user_ip();
}
$content->member_display = uniqid();
$content->updateContent();
}
add_action('kboard_comments_insert', 'my_kboard_comments_insert', 10, 3);
function my_kboard_comments_insert($insert_id, $content_uid, $board){
$content = new KBContent();
$content->initWithUID($content_uid);
$comment = new KBComment();
$comment->initWithUID($insert_id);
if(is_user_logged_in()){
if($comment->user_uid == $content->member_uid){
$comment->user_display = $content->member_display . ' (작성자)';
}
}
else if($content->option->ip == kboard_user_ip()){
$comment->user_display = $content->member_display . ' (작성자)';
}
$comment->update();
}
add_action('kboard_comments_field', 'my_kboard_comments_field', 10, 4);
function my_kboard_comments_field($field_html, $board, $content_uid, $commentBuilder){
?>
<input type="hidden" name="comment_option_ip" value="<?php echo kboard_user_ip()?>">
<?php
}
고맙습니다.
안녕하세요
상위처럼 코드를 변경하였습니다만.. ㅜㅜ
표기가 안되고 있습니다.
functions.php
//아이피주소관리자만 확인
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;
}
// 익명 암호화
add_action('kboard_document_insert', 'my_kboard_document_insert', 10, 4);
function my_kboard_document_insert($content_uid, $board_id, $content, $board){
if(!is_user_logged_in()){
$content->option->ip = kboard_user_ip();
}
$content->member_display = uniqid();
$content->updateContent();
}
add_action('kboard_comments_insert', 'my_kboard_comments_insert', 10, 3);
function my_kboard_comments_insert($insert_id, $content_uid, $board){
$content = new KBContent();
$content->initWithUID($content_uid);
$comment = new KBComment();
$comment->initWithUID($insert_id);
if(is_user_logged_in()){
if($comment->user_uid == $content->member_uid){
$comment->user_display = $content->member_display . ' (작성자)';
}
}
else if($content->option->ip == kboard_user_ip()){
$comment->user_display = $content->member_display . ' (작성자)';
}
$comment->update();
}
add_action('kboard_comments_field', 'my_kboard_comments_field', 10, 4);
function my_kboard_comments_field($field_html, $board, $content_uid, $commentBuilder){
?>
<input type="hidden" name="comment_option_ip" value="<?php echo kboard_user_ip()?>">
<?php
}
//스크롤 위로
add_action('kboard_skin_header', 'my_kboard_skin_header', 10, 1);
function my_kboard_skin_header($builder){
$board = $builder->board;
if($board->id == '1'){
?>
<script>
jQuery(document).ready(function(){
parent.jQuery('html, body').scrollTop(0);
});
</script>
<?php
}
}
이렇게 되어 있구요
list-template.php
<div class="comments-list">
<ul>
<?php while($comment = $commentList->hasNext()): $commentURL->setCommentUID($comment->uid);?>
<li itemscope itemtype="http://schema.org/Comment" class="kboard-comments-item" data-username="<?php echo $comment->user_display?>" data-created="<?php echo $comment->created?>">
<div class="comments-list-username" itemprop="author">
<?php echo $comment->getUserDisplay()?>
<?php if($board->isAdmin() && $comment->option->ip):?>(<?php echo $comment->option->ip?>)<?php endif?>
</div>
이파일도 요렇게 되어 있는데요..ㅡㅜ
도대체 왜 안될까요
이건 원래 작동이 되었던 게시판인데 잘작동 됩니다.
요건 코드 수정후 테스트로 해본건데 아이피가 안보이네욤 ㅠㅠ
도와주세요
안녕하세요.
이미지 사진은 imgur에 업로드한 뒤 링크 걸어주시길 부탁드립니다.
관리자로 로그인해서 확인해보신 건지요?
해당 코드를 저희 쪽 테스트 서버에서 확인해보니
관리자로 로그인 시에만 IP 정보가 표시되는 것을 확인했습니다.
첫번째 이미지는 관리자로 로그인 시 IP가 표시됩니다.
두번째 이미지는 비로그인 사용자가 게시글을 확인할 때 IP가 표시되지 않습니다.
고맙습니다.