덕분에 정말 감사합니다. 많은것을 배웠습니다. ㅎㅎ
다름이 아니라 몇가지 질문이 있습니다.
http://come★homest.cafe24.com/?page_id=1281
별표빼시고 주소 입력하세요. 이부분에서 Rooms에 이미지가 살짝 붕떠있는데 이부분 수정하는 방법좀 가르쳐주세요.
그리고 카테고리별 정렬하는 기능을 사용하려고하는데
<div class="kboard-attr-row">
<div class="attr-name"><?php echo __('Rooms', 'kboard')?></div>
<div class="attr-value">
<input type="checkbox" value="1" name="kboard_option_checkbox1" id="checkbox1"<?php if($content->option->checkbox1 == '1') { ?> checked<?php } ?>> A Room</label>
<input type="checkbox" value="2" name="kboard_option_checkbox2" id="checkbox2"<?php if($content->option->checkbox2 == '2') { ?> checked<?php } ?>> B Room</label>
<input type="checkbox" value="3" name="kboard_option_checkbox3" id="checkbox3"<?php if($content->option->checkbox3 == '3') { ?> checked<?php } ?>> C Room</label>
<input type="checkbox" value="4" name="kboard_option_checkbox4" id="checkbox4"<?php if($content->option->checkbox4 == '4') { ?> checked<?php } ?>> D Room</label>
</div>
</div>
이런식으로 에디터에 추가하고 하려는데 체크박스 4개중에 한개는 무조건 선택해야되고
체크박스의 선택 유무에 따라 list에서 카테고리를 누르면 A room 선택된 게시글만 소팅하려고합니다..
ex) list에서 있는 카테고리 소팅을 체크박스로 구현하려고합니다. 체크박스 유무에 따라 list에서 A룸 선택하면 체크박스가 A룸 선택된 모든 게시글이 보여지면됩니다..
감사합니다.
안녕하세요~^^
1. Rooms 이미지는
워드프레스 관리자 -> 외모 -> 사용자 정의하기 -> CSS 입력 필드에
아래의 코드를 추가해보세요.
#kboard-customer-list .kboard-list table td.kboard-list-room { line-height: normal; }
2. 올려주신 editor.php 파일의 코드를 아래의 코드로 교체해보세요.
<label> 태그에 시작하는 코드가 없었습니다.
<div class="kboard-attr-row">
<div class="attr-name"><?php echo __('Rooms', 'kboard')?></div>
<div class="attr-value">
<label for="checkbox1"><input type="hidden" name="kboard_option_checkbox1" value=""><input type="checkbox" value="1" name="kboard_option_checkbox1" id="checkbox1"<?php if($content->option->checkbox1 == '1') { ?> checked<?php } ?>>A Room</label>
<label for="checkbox2"><input type="hidden" name="kboard_option_checkbox2" value=""><input type="checkbox" value="2" name="kboard_option_checkbox2" id="checkbox2"<?php if($content->option->checkbox2 == '2') { ?> checked<?php } ?>>B Room</label>
<label for="checkbox3"><input type="hidden" name="kboard_option_checkbox3" value=""><input type="checkbox" value="3" name="kboard_option_checkbox3" id="checkbox3"<?php if($content->option->checkbox3 == '3') { ?> checked<?php } ?>>C Room</label>
<label for="checkbox4"><input type="hidden" name="kboard_option_checkbox4" value=""><input type="checkbox" value="4" name="kboard_option_checkbox4" id="checkbox4"<?php if($content->option->checkbox4 == '4') { ?> checked<?php } ?>>D Room</label>
</div>
</div>
3. 체크박스 4개 중 최소 1개 이상 체크를 해야 하는 기능은
FTP로 접속해서 /wp-content/plugins/kboard/skin/사용중인스킨/script.js 파일에서
아래의 코드를 찾아보세요.
if(jQuery(form).data('submitted')){
alert(kboard_localize_strings.please_wait);
return false;
}
찾은 코드 밑에 아래의 코드를 추가해보세요.
if(!jQuery('#checkbox1', form).prop('checked') &&
!jQuery('#checkbox2', form).prop('checked') &&
!jQuery('#checkbox3', form).prop('checked') &&
!jQuery('#checkbox4', form).prop('checked')){
alert('최소 1개는 체크해야 합니다.');
jQuery('#checkbox1', form).focus();
return false;
}
4. /wp-content/plugins/kboard/skin/사용중인스킨/list.php 파일에
아래의 코드를 적절한 위치에 추가해보세요.
<div class="kboard-option">
<form id="kboard-option-form-<?php echo $board->id?>" method="get" action="<?php echo $url->toString()?>">
<?php echo $url->set('pageid', '1')->set('target', '')->set('keyword', '')->set('mod', 'list')->toInput()?>
<input type="hidden" name="kboard_search_option[relation]" value="AND">
<?php $option = kboard_search_option();?>
<label>
<input type="hidden" name="kboard_search_option[checkbox1][key]" value="checkbox1">
<input type="checkbox" name="kboard_search_option[checkbox1][value]" value="1" onchange="this.form.submit()"<?php if(isset($option['checkbox1']['value']) && $option['checkbox1']['value']):?> checked<?php endif?>>
<input type="hidden" name="kboard_search_option[checkbox1][compare]" value="=">
A Room
</label>
<label>
<input type="hidden" name="kboard_search_option[checkbox2][key]" value="checkbox2">
<input type="checkbox" name="kboard_search_option[checkbox2][value]" value="2" onchange="this.form.submit()"<?php if(isset($option['checkbox2']['value']) && $option['checkbox2']['value']):?> checked<?php endif?>>
<input type="hidden" name="kboard_search_option[checkbox2][compare]" value="=">
B Room
</label>
<label>
<input type="hidden" name="kboard_search_option[checkbox3][key]" value="checkbox3">
<input type="checkbox" name="kboard_search_option[checkbox3][value]" value="3" onchange="this.form.submit()"<?php if(isset($option['checkbox3']['value']) && $option['checkbox3']['value']):?> checked<?php endif?>>
<input type="hidden" name="kboard_search_option[checkbox3][compare]" value="=">
C Room
</label>
<label>
<input type="hidden" name="kboard_search_option[checkbox4][key]" value="checkbox4">
<input type="checkbox" name="kboard_search_option[checkbox4][value]" value="4" onchange="this.form.submit()"<?php if(isset($option['checkbox4']['value']) && $option['checkbox4']['value']):?> checked<?php endif?>>
<input type="hidden" name="kboard_search_option[checkbox4][compare]" value="=">
D Room
</label>
</form>
</div>
고맙습니다.
아, 아래처럼 function.php에 특정 기간만 게시글이 나오도록 했는데 그 부분이 원인이네요. 동시에 적용하기는 힘든가봅니다.
add_filter('kboard_list_where', 'gotogether_list_where', 10, 3);
function gotogether_list_where($where, $board_id, $content_list){
if($board_id == '3'){ // 실제 적용될 게시판의 ID값으로 변경해주세요. 하단의 쿼리에서도 board_id를 변경해야함.
$date = date('1m01000000', current_time('timestamp')); // 이번달 시작 날짜 기준 - 한달은Ym01000000 (현재는 1년)
$where = "`date`>='{$date}' AND `board_id`='3' AND `notice`='' AND (`status`='' OR `status` IS NULL OR `status`='pending_approval')";
}
return $where;
}
안녕하세요.
저희 쪽 테스트 서버에서는 올려주신 코드가 정상적으로 동작하는 것을 확인했습니다.
테마 쪽 functions.php 파일에 별도로 코드를 추가하셨거나
스킨 파일의 editor.php 파일을 수정하신 게 있으시면 알려주시겠어요?
고맙습니다.
안녕하세요.
상단에 올려주신 코드를 이용해서 필드옵션 필터링을 잘 사용하고 있었는데 금일 확인해보니 먹히지 않는군요.
혹시 무슨 변경된 내용이 있어서 안되는 걸까요?
<div class="kboard-option">
<form id="kboard-option-form-<?php echo $board->id?>" method="get" action="<?php echo $url->toString()?>">
<?php echo $url->set('pageid', '1')->set('target', '')->set('keyword', '')->set('mod', 'list')->toInput()?>
<input type="hidden" name="kboard_search_option[relation]" value="AND">
<?php $option = kboard_search_option();?>
<label>
<input type="hidden" name="kboard_search_option[checkbox1][key]" value="checkbox1">
<input type="hidden" name="kboard_search_option[checkbox1][value]" value="">
<input type="checkbox" name="kboard_search_option[checkbox1][value]" value="1" onchange="this.form.submit()"<?php if(isset($option['checkbox1']['value']) && $option['checkbox1']['value']):?> checked<?php endif?>>
<input type="hidden" name="kboard_search_option[checkbox1][compare]" value="=">
A Room
</label>
<label>
<input type="hidden" name="kboard_search_option[checkbox2][key]" value="checkbox2">
<input type="hidden" name="kboard_search_option[checkbox2][value]" value="">
<input type="checkbox" name="kboard_search_option[checkbox2][value]" value="2" onchange="this.form.submit()"<?php if(isset($option['checkbox2']['value']) && $option['checkbox2']['value']):?> checked<?php endif?>>
<input type="hidden" name="kboard_search_option[checkbox2][compare]" value="=">
B Room
</label>
<label>
<input type="hidden" name="kboard_search_option[checkbox3][key]" value="checkbox3">
<input type="hidden" name="kboard_search_option[checkbox3][value]" value="">
<input type="checkbox" name="kboard_search_option[checkbox3][value]" value="3" onchange="this.form.submit()"<?php if(isset($option['checkbox3']['value']) && $option['checkbox3']['value']):?> checked<?php endif?>>
<input type="hidden" name="kboard_search_option[checkbox3][compare]" value="=">
C Room
</label>
<label>
<input type="hidden" name="kboard_search_option[checkbox4][key]" value="checkbox4">
<input type="hidden" name="kboard_search_option[checkbox4][value]" value="">
<input type="checkbox" name="kboard_search_option[checkbox4][value]" value="4" onchange="this.form.submit()"<?php if(isset($option['checkbox4']['value']) && $option['checkbox4']['value']):?> checked<?php endif?>>
<input type="hidden" name="kboard_search_option[checkbox4][compare]" value="=">
D Room
</label>
</form>
</div>
안녕하세요.
KBoard 플러그인에서 지원하는 kboard_list_where 필터를 이용해서
게시글 목록을 가져오는 DB쿼리문의 WHERE절을 편집하실 수 있습니다.
자세한 내용은 아래의 링크를 참고해보시겠어요?
http://www.cosmosfarm.com/products/kboard/hooks
KBoard(케이보드) 입력 필드 검색 방법도 참고해보세요.
고맙습니다.
안녕하세요.
이렇게 해서 필터링을 하다보면 부하가 좀 걸릴 것 같은 생각이 들어서 하는 질문입니다.
혹시 옵션선택해서 필터링을 할 때 결과물을 가장 최근 1개월까지만 보여주는 방법도 있을까요?
잘 작동합니다. 정말 감사합니다. ^^
안녕하세요.
안내해드린 코드를 적용하신 후 체크박스를 A와 B를 체크해서 검색하시면
게시글 작성 시 A와 B 체크박스에 체크한 게시글을 표시합니다.
이전에 안내해드린 코드에 버그가 있을 수 있으니
아래의 코드를 활용해보시겠어요?
<div class="kboard-option">
<form id="kboard-option-form-<?php echo $board->id?>" method="get" action="<?php echo $url->toString()?>">
<?php echo $url->set('pageid', '1')->set('target', '')->set('keyword', '')->set('mod', 'list')->toInput()?>
<input type="hidden" name="kboard_search_option[relation]" value="AND">
<?php $option = kboard_search_option();?>
<label>
<input type="hidden" name="kboard_search_option[checkbox1][key]" value="checkbox1">
<input type="hidden" name="kboard_search_option[checkbox1][value]" value="">
<input type="checkbox" name="kboard_search_option[checkbox1][value]" value="1" onchange="this.form.submit()"<?php if(isset($option['checkbox1']['value']) && $option['checkbox1']['value']):?> checked<?php endif?>>
<input type="hidden" name="kboard_search_option[checkbox1][compare]" value="=">
A Room
</label>
<label>
<input type="hidden" name="kboard_search_option[checkbox2][key]" value="checkbox2">
<input type="hidden" name="kboard_search_option[checkbox2][value]" value="">
<input type="checkbox" name="kboard_search_option[checkbox2][value]" value="2" onchange="this.form.submit()"<?php if(isset($option['checkbox2']['value']) && $option['checkbox2']['value']):?> checked<?php endif?>>
<input type="hidden" name="kboard_search_option[checkbox2][compare]" value="=">
B Room
</label>
<label>
<input type="hidden" name="kboard_search_option[checkbox3][key]" value="checkbox3">
<input type="hidden" name="kboard_search_option[checkbox3][value]" value="">
<input type="checkbox" name="kboard_search_option[checkbox3][value]" value="3" onchange="this.form.submit()"<?php if(isset($option['checkbox3']['value']) && $option['checkbox3']['value']):?> checked<?php endif?>>
<input type="hidden" name="kboard_search_option[checkbox3][compare]" value="=">
C Room
</label>
<label>
<input type="hidden" name="kboard_search_option[checkbox4][key]" value="checkbox4">
<input type="hidden" name="kboard_search_option[checkbox4][value]" value="">
<input type="checkbox" name="kboard_search_option[checkbox4][value]" value="4" onchange="this.form.submit()"<?php if(isset($option['checkbox4']['value']) && $option['checkbox4']['value']):?> checked<?php endif?>>
<input type="hidden" name="kboard_search_option[checkbox4][compare]" value="=">
D Room
</label>
</form>
</div>
고맙습니다.
질문) 혹시 체크박스 복수로 선택하면 A와 B가 동시에 선택된 게시글 검색하는 것도 가능한지요?
아직해보지는않았지만.. 잘될거같군요..ㅎㅎ
정말 감사합니다.
그리고 유료 기술지원 메일로 신청했는데 아직 연락을 못받았습니다.
확인부탁드려요~
입력 필드 검색 시 특정 날짜의 게시글만 표시하시려면
추가하신 코드를 수정해주셔야 할 듯합니다.
아래의 코드를 활용해보시겠어요?
add_filter('kboard_list_where', 'my_kboard_list_where', 10, 3);
function my_kboard_list_where($where, $board_id, $content_list){
if($board_id == '1'){ // 실제 게시판 id로 적용해주세요.
$date = date('Ymd000000', strtotime('-1 years'));
$where .= "AND `date`>='{$date}'";
}
return $where;
}
위의 코드에서 $board_id == '1' 부분은 실제 게시판 id로 적용해주세요.
위의 코드는 1년 전의 게시글을 표시하는 코드입니다.
고맙습니다.