팁과노하우

2025.02.05 16:02

비회원은 ? 시간 동안 댓글을 볼 수 없는 기능을 추가 해봅시다!!

안녕하세요...

미니님a입니다.


더X라는 사이트에는 재미난 시스템이 하나 있습니다.

게시판의 내용을 볼 수 있지만, 비회원은 특정 시간 동안 댓글을 볼 수 없습니다. 아래처럼요

1fb981ab72f4a9a369be618d6c4a4b17_1738738249_3428.png
 

이 기능!! 만들어봅시다.

기본 게시판과 통합 게시판 모두 작성되어있습니다.


[기본 게시판 설정]


theme/rb.basic/skin/board/rb.basic_bbs/view_comment.skin.php 파일을 열어주세요


그리고 52번 라인을 찾아주세요 만약 커스터 마이징을 했다면 아래 코드를 찾아주시면 됩니다.



<!-- 댓글 출력 -->
<div class="cmt_contents">
  <p>
     <?php if (strstr($list[$i]['wr_option'], "secret")) { ?><img src="<?php echo $board_skin_url; ?>/img/ico_sec.svg" alt="비밀글"><?php } ?>
     <?php echo $comment ?>
  </p>


위 코드를 아래 코드로 통으로 변경해주세요



 <!-- 댓글 출력 -->
            <!-- 시간 체크 추가 -->
            <?php $diff_time = (time() - (new DateTime($list[$i]['datetime']))->getTimestamp()) / 3600;?>
            <!-- 시간 체크 추가 -->
            <div class="cmt_contents">
                <p>
                    <?php if (strstr($list[$i]['wr_option'], "secret")) { ?><img src="<?php echo $board_skin_url; ?>/img/icon_secret.gif" alt="비밀글"><?php } ?>
            <!-- 시간 체크 추가 -->
                <?php
                    if($diff_time >= 1 || ($is_member && $member['mb_id'])) {  
                                echo "<span class='test'>".$comment."</span>"; // 글제목 출력
                            }else{
                                echo "<span class=' font-bold block text-center'>비회원은 댓글 작성 기준 1시간 이내의 내용은 확인할 수 없습니다.<br>로그인 이후 즉시 확인할 수 있습니다.</span>";
                            }
                    ?>
            <!-- 시간 체크 추가 위에 diff_time 1 이 한시간입니다. 2라면 2시간입니다. -->
                </p>



[통합 게시판 설정]


theme/rb.basic/skin/board/rb.bbs/skin/cmt/basic/skin.php 파일을 열어주세요


마찬가지로 위와 동일하게 45번 라인에 주석으로 된 댓글 출력을 찾아주세요

만약 커스터 마이징을 했다면 아래 코드를 찾아주시면 됩니다.



	        <!-- 댓글 출력 -->
	        <div class="cmt_contents">
	            <p>
	                <?php if (strstr($list[$i]['wr_option'], "secret")) { ?><img src="<?php echo $board_skin_url; ?>/img/ico_sec.svg" alt="비밀글"><?php } ?>
	                <?php echo $comment ?>
	            </p>


동일하게 위 코드를 아래 코드로 변경 해주시면 됩니다.



<!-- 댓글 출력 -->
            <!-- 시간 체크 추가 -->
            <?php $diff_time = (time() - (new DateTime($list[$i]['datetime']))->getTimestamp()) / 3600;?>
            <!-- 시간 체크 추가 -->
            <div class="cmt_contents">
                <p>
                    <?php if (strstr($list[$i]['wr_option'], "secret")) { ?><img src="<?php echo $board_skin_url; ?>/img/icon_secret.gif" alt="비밀글"><?php } ?>
            <!-- 시간 체크 추가 -->
                <?php
                    if($diff_time >= 1 || ($is_member && $member['mb_id'])) {  
                                echo "<span class='test'>".$comment."</span>"; // 글제목 출력
                            }else{
                                echo "<span class=' font-bold block text-center'>비회원은 댓글 작성 기준 1시간 이내의 내용은 확인할 수 없습니다.<br>로그인 이후 즉시 확인할 수 있습니다.</span>";
                            }
                    ?>
            <!-- 시간 체크 추가 위에 diff_time 1 이 한시간입니다. 2라면 2시간입니다. -->
                </p>


일반 게시판과 통합 게시판 스샷 라인은 다르지만, 코드가 같아 코드 스크린샷은 하나로 통일 합니다.


1fb981ab72f4a9a369be618d6c4a4b17_1738738828_9006.png
 

위 코드 작성 시 아래 처럼 결과를 볼 수 있습니다.


1fb981ab72f4a9a369be618d6c4a4b17_1738738614_075.png


당연히 로그인 하시면 즉시 볼 수 있습니다.


고맙습니다.


※ 추천은 구걸이라 배웠습니다. 추천 좀!!! ㅎㅎ

  • 공유링크 복사
    미니홈 쪽지 구독하기
    구독하고 알림받기

    댓글목록

    profile_image
    no_profile 우루사100mg미니홈 1:1 대화하기  오래 전

    1시간 이후에도 봐줄 방문자가 없... 킵 하고 추후 잘 이용 해보겠습니다. ㅠㅠ

    2025-02-05 16:11

    profile_image
    미니님a미니홈 1:1 대화하기  오래 전

    저도 그래요 같이 울어요 ㅠㅠ

    눈물

    2025-02-05 16:11