아마 저같은 고민을 하시는분들이 있을거같은데ㅠㅠ 검색을 해봐도 찾을수가 없네요ㅠㅠ
업데이트된 케이보드 디폴트 스킨에서, 텍스트아레아에 기본값(value)에 띄어쓰기를 하려는데
<br> \n 등을 해봐도, 글쓰기화면에서 확인해보면 그냥 노출이 되네요ㅠㅠ
예전 스킨같은경우 그나마 커스터마이징은 할만했는데
functions.php에 필터를 이용하는게 아직 감이 잡히질 않아 제대로 건드리질 못하고 있습니다ㅠㅠ
쓰레드봇님 도와주세요ㅠㅠㅠ
질문1. textarea에 기본값이나 플레이스홀더에 띄어쓰기를 하려면 어떻게 해야하나요?ㅠ
질문2. 만약 텍스트아레아 필드와 특정인풋필드사이(혹은 그 아래)에 사용자정의 html이나 php코드나 js를 넣으려면
어떻게 해야할까요?ㅠ
안녕하세요~^^
KBoard 플러그인의 kboard_get_template_field_html 필터를 활용하시면
필드를 편집하실 수 있습니다.
텍스트 에어리어 확장 필드에 기본값과 placeholder에
줄 바꿈을 적용하는 예제 코드를 작성해봤습니다.
아래 코드를 활용해보시겠어요?
add_filter('kboard_get_template_field_html', 'kboard_get_template_field_html_2020_04_13', 10, 4);
function kboard_get_template_field_html_2020_04_13($html, $field, $content, $board){
if($field['meta_key'] == 'my_textarea' && $board->id == '1'){ // 실제 게시판 id로 적용해주세요.
$fields = $board->fields();
$meta_key = isset($field['meta_key'])&&$field['meta_key'] ? esc_attr($field['meta_key']) : '';
$required = isset($field['required'])&&$field['required'] ? 'required' : '';
$field_name = isset($field['field_name'])&&$field['field_name'] ? esc_attr($field['field_name']) : '';
$default_value = isset($field['default_value'])&&$field['default_value'] ? esc_attr($field['default_value']) : '첫번째 줄 두번째 줄';
$placeholder = isset($field['placeholder'])&&$field['placeholder'] ? esc_attr($field['placeholder']) : '첫번째 줄 두번째 줄';
ob_start();
?>
<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">
<textarea id="<?php echo esc_attr($meta_key)?>" name="<?php echo esc_attr($fields->getOptionFieldName($meta_key))?>"class="editor-textarea <?php echo esc_attr($required)?>"<?php if($placeholder):?> placeholder="<?php echo esc_attr($placeholder)?>"<?php endif?>><?php echo $content->option->{$meta_key}?esc_textarea($content->option->{$meta_key}):$default_value?></textarea>
<?php if(isset($field['description']) && $field['description']):?><div class="description"><?php echo esc_html($field['description'])?></div><?php endif?>
</div>
</div>
<?php
$html = ob_get_clean();
}
return $html;
}
위의 코드에서 my_textarea 부분은 실제 필드의 메타키로 적용해보세요.
$board->id == '1' 부분은 실제 게시판 id로 적용해보세요.
테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.
특정 필드 아래에 코드를 추가하고 실행되게 하시려면
kboard_skin_field_after_{$meta_key} 필터를 활용해보시겠어요?
{$meta_key} 부분에는 실제 필드의 메타키로 적용해주시면 됩니다.
아래 예제 코드를 활용해보세요.
add_action('kboard_skin_field_after_my_textarea', 'kboard_skin_field_after_my_textarea', 10, 3);
function kboard_skin_field_after_my_textarea($field, $content, $board){
if($field['meta_key'] == 'my_textarea' && $board->id == '1'){ // 실제 게시판 id로 적용해주세요.
?>
<div class="kboard-attr-row kboard-attr-textarea meta-key-my_textarea-after">
<div class="attr-value">my_textarea 밑에 표시됩니다.</div>
</div>
<?php
}
}
고맙습니다.
안녕하세요~^^
KBoard(케이보드) 관련 내용이라면 KBoard 카테고리에 내용을 올려주시길 부탁드립니다.
고맙습니다.