안녕하세요.
크로스캘린더 시작일 및 종료일 숨김 처리를 어떻게 할까요?
wp-content/plugins/kboard/skin/cross-calendar/editor.php 의 해당 부분을 확인해보았는데.
반복문 $board->fields()->getSkinFields()로 인자값을 전달 받는거같은데, 어디서 편집을 할 수 있을까요 ?
감사합니다.
크로스 캘린더 스킨은 시작일과 종료일이 모두 입력돼야
달력에 표시되기 때문에 이전 코드는 지우신 후
아래의 코드로 교체해서 확인해보시겠어요?
add_filter('kboard_get_template_field_html', 'kboard_get_template_field_html_20200624', 999, 4);
function kboard_get_template_field_html_20200624($field_html, $field, $content, $board){
if($board->id == '1'){ // 실제 게시판 id로 적용해주세요.
$ymd = isset($_GET['ymd']) ? date('Y-m-d', strtotime($_GET['ymd'])) : '';
$today = date('Y-m-d', current_time('timestamp'));
if($field['field_type'] == 'start_date'){
ob_start();
?>
<input type="hidden" name="kboard_option_start_date" value="<?php echo $content->option->start_date ? $content->option->start_date : ($ymd ? $ymd : $today)?>">
<?php
$field_html = ob_get_clean();
}
else if($field['field_type'] == 'end_date'){
ob_start();
?>
<input type="hidden" name="kboard_option_end_date" value="<?php echo $content->option->end_date ? $content->option->end_date : ($ymd ? $ymd : $today)?>">
<?php
$field_html = ob_get_clean();
}
}
return $field_html;
}
위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해보세요.
고맙습니다.
말씀하신대로 코드를 작성하였더니, 정상적으로 잘 작동하나 글이 작성이 안됩니다. 어떻게 해야할까요?
글 작성 일정은 기준은 오늘만 있으면 됩니다.
안녕하세요~^^
스킨 파일 중 editor.php 파일에
$board->fields()->getSkinFields() 코드가 있는 걸로 봐선
최신 버전의 크로스 캘린더 스킨을 사용 중이신 듯합니다.
기본적으로 추가되어 있는 시작일, 종료일 필드를 안 보이게 하시려면
아래의 코드를 활용해보시겠어요?
add_filter('kboard_skin_fields', 'kboard_skin_fields_20200624', 999, 2);
function kboard_skin_fields_20200624($fields, $board){
if($board->id == '1'){ // 실제 게시판 id로 적용해주세요.
unset($fields['start_date']);
unset($fields['end_date']);
}
return $fields;
}
위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해주세요.
고맙습니다.