1:1 문의 글에서 답변 달았을때 질문글을 답변 글 위에 보여지게 할 수 있나요?

1:1 문의 스킨을 사용중입니다.

답변글을 달리는 형태라 질문이 어떤것인지 상세 페이지에서 질문글을 위에 표시해줄 수 있을까요?

검색해보아도 나오지 않아 문의 드립니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    KBoard 플러그인 답글 본문 상단에

    원글을 표시하시려면

    워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에

    아래의 코드를 추가해보시겠어요?

    add_action('kboard_skin_header', 'my_kboard_skin_header', 10, 1);
    function my_kboard_skin_header($builder){
    	$board = $builder->board;
    	if(kboard_mod() == 'document' && $board->id == '1'){ // 실제 게시판 id로 적용해주세요.
    		$content_uid = kboard_uid();
    		$content = new KBContent();
    		$content->initWithUID($content_uid);
    		
    		if($content->parent_uid){
    			$parent_builder = new KBoardBuilder($board->id);
    			$parent_builder->board = $board;
    			$parent_builder->setSkin($board->skin);
    			$parent_builder->uid = $content->parent_uid;
    			$parent_builder->builderDocument();
    		}
    	}
    }

    위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해주세요.

    고맙습니다.

  • 안녕하세요.!! 잘 적용하고 있는데요, 혹 질문글을 답문 아래로 내릴방법이 있을까요?

    순서는 답글 > 질문글 순서로 보이고, 답글 상세페이지에서만 적용되도록요!!! 

    잘 부탁드립니다 ~ 

  • 안녕하세요.

    답글 상세 페이지에서 답글이 먼저 보이고 원글을 나중에 표시하시려면

    이전 댓글에 안내해드린 코드 중 kboard_skin_header 부분을

    kboard_skin_footer로 모두 교체해서 확인해보시겠어요?

    고맙습니다.

  • ^^;; 적용은 했는데, 아예 밑에 붙어버리네요... 하하;;; 그래서 본문소스 안에 적용했습니다.

    한가지 더 질문이 있는데요, 혹 질문에 대한 답변이 있는 경우 위에 답변 처럼 답변을 아래에 보여주게 할 수 있을까요? 답변이 달린 케이스만 보이는거죠...

    말그대로 질문 글에 들어가면 질문 + 답변이 보이고, 답변이 있는 글을 들어갔을 경우 답변 + 질문이 보이도록 ;;; 흠... 복잡하게 해서 죄송합니다 ^^;

    가능여부만 알려주세요 ~ ㅎㅎ

     

    그리고 위에 알려주신 것은 본문 내용에 소스를 삽입해서 아래처럼 적용했습니다. 

    			<div class="kboard-content" itemprop="description">
    				<div class="content-view">
    					<?php echo $content->getDocumentOptionsHTML()?>
    					<?php echo $content->content?>
    				</div>
    				<div class="content-view origin_reply">
    					<?php 
    					// Add 1:1 QnA Contents in Reply
    						if($content->parent_uid){
    							echo '<div class="qna_reply">';
    							echo '<h5>질문원문</h5>';
    							$parent_builder = new KBoardBuilder($board->id);
    							$parent_builder->board = $board;
    							$parent_builder->setSkin($board->skin);
    							$parent_builder->uid = $content->parent_uid;
    							$parent_builder->builderDocument();
    							echo '</div>';
    						} 
    					?>
    				</div>
    			</div>

     

    ^^;; 문젠 아래에 리스트 또 나오길래 그건 CSS로 처리했는데, 정작 문의 글에서 답변이 있는 경우에 대한 답글 표시를 하려니 위에 코드와 상충되는 부분도 보여서요. 

    가능할까요?

     

  • 안녕하세요.

    KBoard 플러그인에 내장되어 있는 kboard_content 필터를 활용하시면

    스킨 파일을 직접 수정하지 않고도

    원글에 답글 표시, 답글에 원글 표시를 하실 수 있습니다.

     

    기존 스킨 파일은 원래의 상태로 되돌리신 후

    워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단엥

    아래의 코드를 추가해서 확인해보시겠어요?

    add_filter('kboard_content', 'my_kboard_content', 10, 3);
    function my_kboard_content($content, $content_uid, $board_id){
    	if($board_id == '1'){ // 실제 게시판 id로 적용해주세요.
    		$document = new KBContent();
    		$document->initWithUID($content_uid);
    		
    		// 원글에 답글 표시하기
    		$list = new KBContentList($board_id);
    		$list->getReplyList($content_uid);
    		while($reply = $list->hasNextReply()){
    			$content .= '<div class="content-view">';
    			$content .= '<h5>답글</h5>';
    			$content .= $reply->content;
    			$content .= '</div>';
    		}
    		
    		// 답글에 원글 표시하기
    		if($document->parent_uid){
    			$parent_document = new KBContent();
    			$parent_document->initWithUID($document->parent_uid);
    			
    			$content .= '<div class="content-view">';
    			$content .= '<h5>질문원문</h5>';
    			$content .= $parent_document->content;
    			$content .= '</div>';
    		}
    	}
    	return $content;
    }

    위의 코드에서 $board_id == '1' 부분은 실제 게시판 id로 적용해보세요.

    고맙습니다.

  • 감사합니다!!! 잘 적용되네요,

    흠... 그런데 혹시 콘텐츠 안에 띄워쓰기 적용을 할 수 있을까요? 지금 코드에서는 글이 전체로 다 붙어서 나와서요, 

    그리고 작성일시와 작성자 명도 같이 노출되도록 가능할까요? ㅜ.ㅜ 번거롭게 요청드려 죄송해요 ~ 목록 내용과 같이 내용을 출력하려고 했는데, 코드만 일부 가져다 쓰니 잘 안되서요.

    ^^; 번거롭겠지만, 기존 editor에 입력된 <br> 태그도 적용가능하도록 코드 부탁드립니다.

    빠른 답변 감사드립니다!!!

  • 적용하신 코드에 <br> 태그가 추가되지 않는다면

    이전에 안내해드린 코드 중

    $reply->content;
    $parent_document->content;

    아래의 코드를 각각 찾아서

    nl2br($reply->content);
    nl2br($parent_document->content);

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

     

    작성일, 작성자명은 아래의 코드로 표시하실 수 있습니다.

    $reply->getDate();
    $reply->member_display;
    $parent_document->getDate();
    $parent_document->member_display;

    고맙습니다.

  • ^^ 감사합니다 ~~ 잘 적용되었습니다. ~ ㅜㅜ 빠른 피드백 감사드려요!!!

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