1. 정확한 제품 또는 플러그인 이름
default
2. 상세 내용
<?php if($content->isNew()):?> 써서 new가 있는것만
button으로 검색하고 싶습니다.
3. 확인 가능한 상세 페이지 주소
4. 수정한 코드 내역 (있다면)
안녕하세요~^^
KBoard 리스트에 new는 기간별로 최신글에만 표시됩니다.
new가 붙어있는 게시글만 검색하시려면 날짜별로 검색하시면 됩니다.
KBoard 게시글 목록 페이지에서 주소에 start_date와 end_date를 설정하시면
해당 기간 내의 게시글을 표시할 수 있습니다.
주소 형식은 아래와 같습니다.
게시글목록페이지주소?start_date=20190301&end_date=20190321
게시글 목록 페이지에서 위의 주소를 입력하면
2019년 3월 1일부터 3월 21일까지의 게시글만 표시합니다.
KBoard 플러그인에서 날짜로 검색할 수 있는
간단한 예제를 만들어봤습니다.
FTP로 접속해서 /wp-content/plugins/kboard/skin/사용중인스킨/list.php 파일에
아래의 코드를 활용해보시겠어요?
<form id="kboard-date-form-<?php echo $board->id?>" method="get" action="<?php echo $url->toString()?>">
<div>시작일<input type="text" name="start_date" value="<?php echo kboard_start_date()?>"></div>
<div>종료일<input type="text" name="end_date" value="<?php echo kboard_end_date()?>"></div>
<input type="submit" value="검색">
</form>
고맙습니다.
날짜 입력 없이, 단순하게 new가 있는것만 검색 할 순 없을까요?
new 표시 역시 글이 등록된 시간 기준으로
표시됩니다.
따로 수정하지 않으셨다면
new 표시는 24시간 동안 표시가 됩니다.
지금 시간으로부터 24시간 이전의 글만 검색되게 하면
new 표시만 붙어있는 글만 검색할 수 있을 듯 합니다.
안내해드린 코드를 참고하여
코드를 작성해보시겠어요?
고맙습니다.
3개월동안 NEW가 뜨게 설정하였는데,
kboard_start_date()에서 어떻게 조건을 줘야할까요?
kboard_list_where 필터를 활용해서 만들면 댈까요?
3개월 이전 글까지 모두 NEW가 붙어있다면
아래의 코드를 list.php 중 표시하고자 하는 곳에
입력해보시겠어요?
<form id="kboard-date-form-<?php echo $board->id?>" method="get" action="<?php echo $url->toString()?>">
<input type="hidden" name="start_date" value="<?php echo esc_attr(date("Y-m-d", strtotime('-3 month', current_time('timestamp'))))?>">
<input type="submit" value="NEW만 보기">
</form>
'-3 month' 부분로 검색 날짜를 조정하실 수 있습니다.
strtotime에 대해 더 자세히 알아보시려면 아래 링크를 참고해주세요.
https://www.php.net/manual/en/function.strtotime.php
고맙습니다.