본인의 댓글만 보기 가능한 곳에서 대댓글 보기

안녕하세요, 하루 종일 고민하고 찾다가 질문을 올리게 되었습니다.

다름이 아니라 본인의 댓글만 볼 수 있도록 설정한 곳에서,

만약에 A 사용자가 댓글을 달게 되고 관리자 B가 그 댓글에 다시 대댓글을 달게 되면

이 A 사용자는 관리자 B의 대댓글을 볼 수 없게 되더군요. (권한이 없음)

혹시 사용자 A가 단 댓글에 한해서는 관리자가 단 대댓글도 사용자 A가 볼 수 있도록 할 수는 없을까요?

 

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 안녕하세요~^^

    KBoard 플러그인에서 댓글보기권한이 본인의 댓글만 보기로 설정 시

    관리자의 댓글도 보이게 하시려면

    FTP로 접속해서 /wp-content/plugins/kboard-comments/class/KBComment.class.php 파일에

    아래의 코드를 찾아서

    $content = new KBContent();
    $content->initWithUID($this->content_uid);
    if($content->isEditor()){
    	// 게시글 작성자 허용
    	return true;
    }

    찾은 코드 밑에 아래의 코드를 추가해보시겠어요?

    $userdata = get_userdata($this->user_uid);
    if(in_array('administrator', $userdata->roles)){
    	return true;
    }

    고맙습니다.

  • 안녕하세요.

    본인의 댓글에 달린 대댓글만 보게 하시려면

    추가하신 아래의 코드를

    $userdata = get_userdata($this->user_uid);
    if(in_array('administrator', $userdata->roles)){
    	return true;
    }

    아래의 코드로 교체해보시겠어요?

    if($this->parent_uid){
    	$parent_comment = new KBComment();
    	$parent_comment->initWithUID($this->parent_uid);
    	if($parent_comment->getUserID() == get_current_user_id()){
    		return true;
    	}
    }

    위의 코드를 적용하시면 본인의 댓글에 달린 대댓글만 볼 수 있습니다.

     

    본인의 댓글에 관리자가 단 대댓글만 보게하시려면

    아래의 코드를 적용해주시면 됩니다.

    if($this->parent_uid){
    	$parent_comment = new KBComment();
    	$parent_comment->initWithUID($this->parent_uid);
    	if($parent_comment->getUserID() == get_current_user_id()){
    		$userdata = get_userdata($this->user_uid);
    		if(in_array('administrator', $userdata->roles)){
    			return true;
    		}
    	}
    }

    고맙습니다.

  • 감사합니다ㅠㅠ

    그런데 혹시 사용자가 자신의 댓글에 달린 관리자의 대댓글만 보게끔 할 수 있을까요?

  • 안녕하세요.

    KBoard 플러그인에서 댓글보기권한이 본인의 댓글만 보기로 설정 시

    기본적으로 본인과 게시글 작성자만 댓글을 볼 수 있습니다.

    이전에 안내해드린 코드를 적용하시면

    본인, 게시글 작성자, 관리자만 댓글을 볼 수 있습니다.

     

    게시글 작성자를 제외하고 싶다는 말씀이신지요?

    /wp-content/plugins/kboard-comments/class/KBComment.class.php 파일에

    아래의 코드를 찾아서

    $content = new KBContent();
    $content->initWithUID($this->content_uid);
    if($content->isEditor()){
    	// 게시글 작성자 허용
    	return true;
    }

    아래의 코드로 교체해보시겠어요? (주석처리)

    /*
    $content = new KBContent();
    $content->initWithUID($this->content_uid);
    if($content->isEditor()){
    	// 게시글 작성자 허용
    	return true;
    }
    */

    고맙습니다.

  • 제가 설명을 잘 못했던 것 같네요..

    다른 사람의 댓글에 달린 관리자의 댓글은 안 보이게끔 할 수 없는지에 대한 질문이었습니다 T.T

     

    예를 들어 사용자 B,C  / 관리자 AD가 있다고 하면

    B가 댓글을 달고, 그 아래 AD가 대댓글을 달았을때, 그 대댓글을 B만 볼 수 있고 C는 볼 수 없도록 할 수는 없는지요ㅠ

    현재 A와 B의 댓글에 단 관리자의 대댓글이 A로 로그인 되어도 전부 보여서요 (B 댓글에 쓰인 AD의 대댓글을 A도 볼 수 있음).

     

    요약하자면, 본인의 댓글에 달린 대댓글만 볼 수 있는 느낌입니다..

  • 설정 후에 모바일이나 PC 익스플로어에서는 전부 제대로 동작하는데 (대댓글까지) PC 크롬으로 들어가면 계속 메인 페이지만 뜨고 나머지는 동작을 안 합니다. 테마 설정으로 들어가면 예상치 못한 오류가 있다고 뜨는데 (이건 크롬, 익스플로어 둘 다 그렇습니다) F12 누르고 콘솔 창 봐도 문제가 없네요.. 다시 백업 받은 데어터로 복원하면 대댓글 설정 전으로 전부 동작하는데 어떻게 해야 할까요ㅠㅠ

  • 안녕하세요.

    올려주신 내용만으로는 원인을 파악할 수 없습니다.

    정확한 원인을 파악하기 위해

    디버그 모드를 활성화해서 오류 메시지가 있는지 확인해보시겠어요?

    워드프레스 에러 확인하기 - 디버그 모드 활성화 방법

    고맙습니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기