안녕하세요. 컨택트폼 스킨을 사용중입니다.
아래 코드 사용하여 체크박스를 추가했는데, 본문에 출력되는거 까지는 확인되었는데,
관리자가 글 수정 시에 체크박스가 해제되어 나옵니다. ㅠㅠ
이부분은 어떻게 하면 될까요?
/*체크박스 추가*/
add_filter('kboard_skin_fields', 'my_kboard_skin_fields1', 10, 2);
function my_kboard_skin_fields1($fields, $board){
if($board->id == '10'){ // 실제 적용될 게시판 ID 값으로 변경해주세요.
if(!isset($fields['agree_checkbox'])){
$fields['agree_checkbox'] = array(
'field_type' => 'agree_checkbox',
'field_label' => '개인정보 이용약관동의 여부',
'class' => 'kboard-attr-checkbox',
'hidden' => '',
'meta_key' => '',
'field_name' => '',
'permission' => '',
'roles' => '',
'default_value' => '',
'placeholder' => '',
'required' => '',
'show_document' => '',
'description' => '',
'close_button' => 'yes'
);
}
}
return $fields;
}
add_filter('kboard_get_template_field_html', 'my_kboard_get_template_field_html1', 10, 4);
function my_kboard_get_template_field_html1($field_html, $field, $content, $board){
if($field['field_type'] == 'agree_checkbox'){
ob_start();
?>
<div class="kboard-attr-row meta-key-<?php echo esc_attr($field['meta_key'])?> required">
<label class="attr-name" for="agree_checkbox" style="display:none">
<span class="field-name"><?php echo esc_html($field['field_name'] ? $field['field_name'] : $field['field_label'])?></span>
</label>
<div class="attr-value" style="margin:0;">
<input type="hidden" class="required" name="kboard_option_<?php echo esc_attr($field['meta_key'])?>" value="1">
<label><input type="checkbox" class="required" name="kboard_option_<?php echo esc_attr($field['meta_key'])?>" value="1"> 개인정보 수집 및 이용약관 동의합니다.</label>
</div>
</div>
<?php
$field_html = ob_get_clean();
}
return $field_html;
}
안녕하세요~^^
KBoard 플러그인에 체크박스 입력 필드를 별도로 추가하신 경우
글수정 페이지에서 체크박스 값이 있을 때 체크되게 하시려면
kboard_get_template_field_html 필터 쪽 코드를
올려주신 코드대신 아래의 코드로 교체해보시겠어요?
add_filter('kboard_get_template_field_html', 'my_kboard_get_template_field_html1', 10, 4);
function my_kboard_get_template_field_html1($field_html, $field, $content, $board){
if($field['field_type'] == 'agree_checkbox'){
ob_start();
?>
<div class="kboard-attr-row meta-key-<?php echo esc_attr($field['meta_key'])?> required">
<label class="attr-name" for="agree_checkbox" style="display:none">
<span class="field-name"><?php echo esc_html($field['field_name'] ? $field['field_name'] : $field['field_label'])?></span>
</label>
<div class="attr-value" style="margin:0;">
<input type="hidden" class="required" name="kboard_option_<?php echo esc_attr($field['meta_key'])?>" value="1">
<label><input type="checkbox" class="required" name="kboard_option_<?php echo esc_attr($field['meta_key'])?>" value="1"<?php if($content->option->{$field['meta_key']}):?> checked<?php endif?>> 개인정보 수집 및 이용약관 동의합니다.</label>
</div>
</div>
<?php
$field_html = ob_get_clean();
}
return $field_html;
}
고맙습니다.