캘린더 게시판 목록으로 보기에서 제일 첫번째 글을 출력하지 않으면 날짜가 안나와욧

캘린더 게시판 목록으로 보기에서 제일 첫번째 글을 출력하지 않으면 날짜가 안나와요.

list.php파일에서 리스트 보기 기능에서 필터링 기능을 추가하기 위해 다음과 같이 수정하였습니다

 

<div class="kboard-mobile-calendar-event-list<?php echo ($group_date == $today) ? ' kboard-today' : ''?>">
                        <?php if(strpos($year_month_check, date('Ymd', strtotime($group_date))) === false):
                        $year_month_check = $year_month_check . '/' . date('Ymd', strtotime($group_date));?>
                        <div class="kboard-mobile-calendar-event-date">
                            <div class="kboard-mobile-calendar-event-day-num"><?php echo date('d', strtotime($group_date))?></div>
                            <div class="kboard-mobile-calendar-event-day-eng"><?php echo date('D', strtotime($group_date))?></div>
                        </div>
                        <?php endif?>
                        <?php //필터링 기능을 이런식으로 삽입 했을 경우입니다.
                            if(필터링 조건==트루){
                            ?>
                            <a href="<?php echo $url->set('uid', $event_item->uid)->set('mod', 'document')->toString()?>#kboard-document">
                                <div class="kboard-mobile-calendar-event-name">
                                    <div class="event-time">
                                        <?php
                                        if(date('H:i', strtotime($event_item->option->start_time)) != '00:00' && date('H:i', strtotime($event_item->option->end_time)) != '00:00'){
                                            echo date('H:i', strtotime($event_item->option->start_time))?>~<?php echo date('H:i', strtotime($event_item->option->end_time));
                                        }
                                        else{
                                            echo __('All day', 'kboard-cross-calendar');
                                        }
                                        ?>
                                    </div>
                                    <!--<?php if($event_item->isNew()):?><span class="kboard-cross-calendar-new-notify">New</span><?php endif?>-->
                                    <?php if($event_item->secret):?><img src="<?php echo $skin_path?>/images/icon-lock.png" alt="<?php echo __('Secret', 'kboard')?>"><?php endif?>
                                    <?php echo $event_item->title?>
                                    <span class="kboard-comments-count"><?php echo $event_item->getCommentsCount()?></span>
                                </div>
                            </a>
                        <?php
                        }
                        ?>
                    </div>

필터링은 정상 동작을 하나, 달력으로 보기 기능 옆에 리스트로 보기를 했을때 그날의 첫번째 게시글이 if문의 필터링으로 없을 경우 날짜(22 FRI)가 표시되는 공간이 사라집니다. 소스보기로 하면 

<div class="kboard-mobile-calendar-event-date">
                            <div class="kboard-mobile-calendar-event-day-num">22</div>
                            <div class="kboard-mobile-calendar-event-day-eng">Fri</div>
                        </div>

이렇게 출력은 되나 실제 페이지에선 아무 글자도 안나오게 됩니다.

아무래도 첫번째 게시글의 공간에 종속된것 같은데

그공간을 따로 주거나 해서 나오게 하는 방법이 있을까요??

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

    본문에 프로그램 코드를 올려야 할 경우

    에디터의 "코드 스니펫 삽입" 기능을 사용해주세요.

     

    아래의 코드를 활용해보시겠어요?

    <?php if(필터링 조건==트루):?>
    	<a href="<?php echo $url->set('uid', $event_item->uid)->set('mod', 'document')->toString()?>#kboard-document">
    		<div class="kboard-mobile-calendar-event-name">
    			<div class="event-time">
    				<?php
    				if(date('H:i', strtotime($event_item->option->start_time)) != '00:00' && date('H:i', strtotime($event_item->option->end_time)) != '00:00'){
    					echo date('H:i', strtotime($event_item->option->start_time))?>~<?php echo date('H:i', strtotime($event_item->option->end_time));
    				}
    				else{
    					echo __('All day', 'kboard-cross-calendar');
    				}
    				?>
    			</div>
    			<!--<?php if($event_item->isNew()):?><span class="kboard-cross-calendar-new-notify">New</span><?php endif?>-->
    			<?php if($event_item->secret):?><img src="<?php echo $skin_path?>/images/icon-lock.png" alt="<?php echo __('Secret', 'kboard')?>"><?php endif?>
    			<?php echo $event_item->title?>
    			<span class="kboard-comments-count"><?php echo $event_item->getCommentsCount()?></span>
    		</div>
    	</a>
    <?php else:?>
    	<div class="kboard-mobile-calendar-event-name">&nbsp; 
    		<div class="event-time">&nbsp;</div>
    	</div>
    <?php endif?>

    고맙습니다.

  • 저 코드를 대입을 해 보았는데 필터링된 자리는 그냥 없는 것 처럼 나와야 되는데 빈공간이 생겨요. 그래서 카운트변수로 처음이 아니면 출력을 안하게 설정 했어요.

    그래도 처음 글이 필터링 되면 빈공간으로 나오는데 날짜는 보이지만 필터링된 리스트의 공간은 없앴으면 좋겠어요

    <?php
    
    if($cnt2==1){
                            ?>
                                    <div class="kboard-mobile-calendar-event-name">&nbsp; 
                                        <div class="event-time">&nbsp;<?=$cnt2?></div>
                                    </div>    
                            <?php    
                                }
    
    ?>

    그리고 만약 필터링 된 게시글이 없어도 날짜가 찍히고 빈공간이 나와요

    좋은 방법이 있을까요?

     

  • 어떤 이유로 코드를 수정하시려는지

    좀 더 정확하게 설명해주시겠어요?

    고맙습니다.

  • 그러니깐 알려주신대로 하면 날짜는 나옵니다.

    그러나 빈공간이 생깁니다. 

    날짜도 나오면서 빈공간이 안생기게 하고 싶어요

    (참고로 현재 만들려는 기능은 1대 1게시판이에요. 그래서 나한테 온글만 보이게 하려고 하는데 빈공간이 생기거나, 아니면 날짜가 안나오거나 ㅜㅜ 두가지 방법 모두 문제가 있어요....) 

  • 본문에 올려주신 코드를 적용하신 후에

    워드프레스 관리자 -> 외모 -> 사용자 정의하기 -> CSS 입력 필드에

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

    #kboard-mobile-calendar-list .kboard-mobile-calendar-event-date { z-index: 1; }

    고맙습니다.

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