1. 정확한 제품 또는 플러그인 이름
케이보드 비즈 커뮤니티 스킨
2. 상세 내용
안녕하세요~
비즈 커뮤니티 카테고리는 기존에 셀렉트박스로 되어있는데
라디오버튼으로 수정하려고 검색을 통해 아래 코드를 적용했습니다.
/* 카테고리 라디오버튼으로 표시 */
add_filter('kboard_get_template_field_html', 'kboard_get_template_field_html_20220913', 10, 4);
function kboard_get_template_field_html_20220913($field_html, $field, $content, $board){
$meta_key = isset($field['meta_key']) ? $field['meta_key'] : '';
$field_name = (isset($field['field_name']) && $field['field_name']) ? $field['field_name'] : $field['field_label'];
$required = (isset($field['required']) && $field['required']) ? $field['required'] : '';
if($meta_key== 'category2' && $board->id == '8'){ // 실제 게시판 id로 적용해보세요.
ob_start();
?>
<?php if(!$board->isTreeCategoryActive()):?>
<?php if($board->initcategory2()):?>
<div class="kboard-attr-row <?php echo esc_attr($field['class'])?> <?php echo esc_attr($required)?>">
<label class="attr-name" for="<?php echo esc_attr($meta_key)?>"><span class="field-name"><?php echo esc_html($field_name)?></span><?php if($required):?> <span class="attr-required-text">*</span><?php endif?></label>
<div class="attr-value">
<?php while($board->hasNextCategory()):?>
<input type="radio" name="category2" value="<?php echo $board->currentCategory()?>"<?php if($content->category2 == $board->currentCategory()):?> checked<?php endif?>>
<?php echo $board->currentCategory()?>
<?php endwhile?>
<label class="attr-reset-button" style="cursor:pointer" onclick="kboard_radio_reset(this)">초기화</label>
<?php if(isset($field['description']) && $field['description']):?><div class="description"><?php echo esc_html($field['description'])?></div><?php endif?>
</div>
</div>
<?php endif?>
<?php endif?>
<?php
$field_html = ob_get_clean();
}
return $field_html;
}
잘 적용되었으나 라디오버튼을 선택할 때 꼭 동그란 버튼을 클릭해야 선택됩니다.
1. 텍스트를 클릭해도 해당 카테고리가 선택되게끔 할 수 있나요?
2. 위 코드로 수정하니까 카테고리 기본값이 적용이 안됩니다. 어떻게 적용해야하나요?
3. 확인 가능한 상세 페이지 주소
4. 수정한 코드 내역 (있다면)
안녕하세요~^^
input 태그가 label 태그 내에 있으면
label 태그를 클릭해도 선택이 됩니다.
아래 예제 코드를 참고하여 수정해보시겠어요?
<label>
<input type="radio" name="category2" value="<?php echo $board->currentCategory()?>"<?php if($content->category2 == $board->currentCategory()):?> checked<?php endif?>>
<?php echo $board->currentCategory()?>
</lable>
고맙습니다.
답변 감사합니다. 잘 적용되었습니다!
혹시
2. 위 코드로 수정하니까 카테고리 기본값이 적용이 안됩니다. 어떻게 적용해야하나요?
이 질문에 대한 답변도 부탁드려도 될까요?
2번이 있었네요
미처 못보고 지나쳐버렸습니다.
<?php if($content->category2 == $board->currentCategory()):?>
위 부분을 아래코드 처럼 변경해보시겠어요?
<?php if($content->category2 == $board->currentCategory() || $board->currentCategory() == '카테고리'):?>
카테고리에는 기본체크 되어 있길 원하는 카테고리 명을 입력해주세요.
고맙습니다.
항상 감사합니다^^