안녕하세요.
현재 ask-one 스킨 사용중이고,
입력필드에서 텍스트 필드 하나 만들어서 사용중인데
답글쓰기 할 때는 텍스트 필드에 입력한 내용이 연동되지 않아 두번 적어줘야하는 번거로움이 있습니다.
답글쓰기 할 때 텍스트 필드에 연동할 수 있는 방법이 있을까요??
아래의 코드를 활용해보시겠어요?
add_filter('kboard_get_template_field_html', 'kboard_get_template_field_html_20200716', 10, 4);
function kboard_get_template_field_html_20200716($html, $field, $content, $board){
$parent_uid = kboard_parent_uid();
if($parent_uid && $board->id == '1'){ // 실제 게시판 id로 적용해주세요.
$fields = $board->fields();
$meta_key = isset($field['meta_key']) ? esc_attr($field['meta_key']) : '';
$field_type = isset($field['field_type']) ? $field['field_type'] : '';
$required = isset($field['required']) ? 'required' : '';
$field_name = isset($field['field_name'])&&$field['field_name'] ? esc_attr($field['field_name']) : esc_attr($field['field_label']);
$placeholder = isset($field['placeholder']) ? esc_attr($field['placeholder']) : '';
$parent = new KBContent();
$parent->initWithUID($parent_uid);
$value = $parent->option->{$meta_key} ? $parent->option->{$meta_key} : '';
if($meta_key == '메타키'){
ob_start();
?>
<?php if(isset($field['hidden']) && $field['hidden']):?>
<input type="hidden" id="<?php echo esc_attr($meta_key)?>" class="<?php echo esc_attr($required)?>" name="<?php echo esc_attr($fields->getOptionFieldName($meta_key))?>" value="<?php echo $content->option->{$meta_key}?esc_attr($content->option->{$meta_key}):esc_attr($value)?>">
<?php else:?>
<div class="kboard-attr-row <?php echo esc_attr($field['class'])?> meta-key-<?php echo esc_attr($meta_key)?> <?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">
<input type="text" id="<?php echo esc_attr($meta_key)?>" class="<?php echo esc_attr($required)?>" name="<?php echo esc_attr($fields->getOptionFieldName($meta_key))?>" value="<?php echo $content->option->{$meta_key}?esc_attr($content->option->{$meta_key}):esc_attr($value)?>"<?php if($placeholder):?> placeholder="<?php echo esc_attr($placeholder)?>"<?php endif?>>
<?php if(isset($field['description']) && $field['description']):?><div class="description"><?php echo esc_html($field['description'])?></div><?php endif?>
</div>
</div>
<?php endif?>
<?php
$html = ob_get_clean();
}
}
return $html;
}
위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해주세요.
$meta_key == '메타키' 부분은 실제 필드 메타키로 적용해보시겠어요?
고맙습니다.
안녕하세요~^^
질문의 내용이 이해가 잘 가지 않습니다.
답글 작성 시 원글에 입력된 입력 필드가 기본으로 표시되게 하고 싶으신 건지요?
아래 관련 링크를 참고해보시겠어요?
https://www.cosmosfarm.com/threads/document/44505
만약, 저희가 잘못 이해하고 있는 거라면
좀 더 설명 부탁드립니다.
고맙습니다.
네~ 답변주신 내용과 동일합니다.
그럼 필드 타입을 text로 바꾸고 하면 댈까요?
if($field_type == 'textarea'){ → if($field_type == 'text'){