KBoard 크로스 캘린더 스킨을 활용해서 병원 예약하기 페이지를 만들고자 합니다.
주말과 공휴일에 일정이 등록되는걸 막거나 특정한 날짜에 일정을 등록 못하게 하는 방법이 있을까요?
안녕하세요~^^
법정 공휴일은 따로 프로그래밍을 해주셔야 할 듯합니다.
토요일, 일요일에 일정 등록 버튼을 안 보이게 하시려면
스킨 파일을 직접 수정해주셔야 할 듯합니다.
FTP로 접속해서 /wp-content/plugins/kboard/skin/cross-calendar/list.php 파일에
아래의 코드를 찾아서
<?php if($board->isWriter()):?>
<!-- 버튼 시작 -->
<div class="kboard-control">
<a href="<?php echo $url->getContentEditor()?>" class="kboard-cross-calendar-button-small"><?php echo __('Register Schedule', 'kboard-cross-calendar')?></a>
</div>
<!-- 버튼 끝 -->
<?php endif?>
아래의 코드로 교체해보시겠어요?
<?php
$daily = array('일', '월', '화', '수', '목', '금', '토');
$date = date('w', current_time('timestamp'));
?>
<?php if($board->isWriter() && !in_array($daily[$date], array('토','일'))):?>
<!-- 버튼 시작 -->
<div class="kboard-control">
<a href="<?php echo $url->getContentEditor()?>" class="kboard-cross-calendar-button-small"><?php echo __('Register Schedule', 'kboard-cross-calendar')?></a>
</div>
<!-- 버튼 끝 -->
<?php endif?>
고맙습니다.
스킨 수정 없이 테마의 functions.php 파일에 코드를 추가해서도 가능합니다.
add_action('kboard_skin_header', 'my_kboard_stop_writing', 10, 1);
function my_kboard_stop_writing($builder){
if($builder->board->id == '1'){ // 실제 적용될 게시판 ID값으로 바꿔주세요.
if($builder->mod == 'editor'){ // 글쓰기 페이지인지 체크
$daily = array('일', '월', '화', '수', '목', '금', '토');
$date = date('w', current_time('timestamp'));
if(in_array($daily[$date], array('토', '일'))){
echo '<script>';
echo "alert('주말에는 글쓰기가 제한됩니다.');";
echo "history.go(-1);";
echo '</script>';
exit;
}
$holiday = array('2018-08-15', '2018-09-24', '2018-09-25', '2018-09-26');
if(in_array(date('Y-m-d', current_time('timestamp')), $holiday)){
echo '<script>';
echo "alert('공휴일에는 글쓰기가 제한됩니다.');";
echo "history.go(-1);";
echo '</script>';
exit;
}
}
}
}
워드프레스 관리자 -> 외모 -> 테마 편집기 메뉴에서 테마의 functions.php 파일을 편집할 수 있습니다.
업데이트를 위해서 가급적이면 스킨 파일을 직접 수정하지 않는 게 좋습니다.
고맙습니다.