안녕하세요~
KBoard 원더풀 제품소개 스킨 사용하는데,
입력필드 설정에서 - 필드를 text나 radio 버튼이나 여러개 만들면 글쓰기시에만 설정한 meta class명이 나오는데,
예시) <div class="kboard-attr-row kboard-attr-text meta-key-128name required">
document 화면에서는 div에 class명이 다 동일하게 나오는데,
예시) <div class="kboard-document-add-option meta-key-text"></div>
필드마다 class명을 다르게 줄 수 있을까요?
아니면 글쓰기페이지처럼 meta 클리스명을 동일하게 줄 수 있나요?
안녕하세요~^^
KBoard 원더풀 제품소개 스킨 게시글 본문 페이지에서
각 입력 필드의 클래스를 다르게 표시되게 하시려면
아래의 코드를 활용해보시겠어요?
add_filter('kboard_document_add_option_value_field_html', 'kboard_document_add_option_value_field_html_20201229', 999, 4);
function kboard_document_add_option_value_field_html_20201229($value_html, $field, $content, $board){
if($board->skin == 'wonderful-product'){
$meta_key = (isset($field['meta_key']) && $field['meta_key']) ? $field['meta_key'] : '';
$field_type = (isset($field['field_type']) && $field['field_type']) ? $field['field_type'] : '';
if($field_type == 'file'){
$url = new KBUrl();
$option_value = isset($content->attach->{$meta_key}) ? $content->attach->{$meta_key} : array();
$download_button = "<a href=\"#\" onclick=\"window.location.href='{$url->getDownloadURLWithAttach($content->uid, $meta_key)}';return false;\" title=\"" . sprintf(__('Download %s', 'kboard'), $option_value[1]) . "\">{$option_value[1]}</a>";
$value_html = sprintf('<div class="kboard-document-add-option meta-key-%s"><div class="option-name">%s</div><div class="option-value">%s</div></div>', $meta_key, $field['field_name'], $download_button);
}
else if($field_type == 'textarea'){
$value_html = sprintf('<div class="kboard-document-add-option meta-key-%s"><div class="option-name">%s</div><div class="option-value">%s</div></div>', $meta_key, $field['field_name'], nl2br($content->option->{$meta_key}));
}
else if($field_type == 'wp_editor'){
$value_html = sprintf('<div class="kboard-document-add-option meta-key-%s"><div class="option-name">%s</div><div class="option-value">%s</div></div>', $meta_key, $field['field_name'], wpautop($content->option->{$meta_key}));
}
else if(is_array($content->option->{$meta_key})){
$value_html = sprintf('<div class="kboard-document-add-option meta-key-%s"><div class="option-name">%s</div><div class="option-value">%s</div></div>', $meta_key, $field['field_name'], implode(', ', $content->option->{$meta_key}));
}
else{
$value_html = sprintf('<div class="kboard-document-add-option meta-key-%s"><div class="option-name">%s</div><div class="option-value">%s</div></div>', $meta_key, $field['field_name'], $content->option->{$meta_key});
}
}
return $value_html;
}
워드프레스에서 에러 혹은 알 수 없는 문제가 있을 때 대응 방법을 참고하셔서
다른 에러 메시지나 충돌이 있는지 점검해보셔야 할 듯합니다.
고맙습니다.