안녕하세요. 모든 글을 비밀글로 작성할 수 있게 하는 동시에 비밀글+체크박스줄만 보이지 않게 하고 싶습니다.
2. 비밀글+체크 박스 이 한 줄만 안보이기만 하게 설정하고 싶습니다. / 줄만 안보일뿐 비밀글 기능은 정상 작동되야 합니다.
3. "비밀번호" 라는 글자를 "전화번호뒷네자리" 로 바꾸고 싶습니다. 비밀번호 입력창은 있어야 됩니다.
어떻게 해야 될까요?
안녕하세요~^^
현재 어떤 KBoard 게시판 스킨을 사용 중이신지요?
스킨마다 코드 적용 방법이 다를 수 있기 때문에
현재 사용 중이신 스킨을 알려주시면 코드 안내해드리겠습니다.
고맙습니다.
Photo book 테마의
default , avatar
2개 사용중입니다. 둘 다 적용해야 합니다.
안녕하세요.
KBoard 플러그인 Default 스킨과 Avatar 스킨에서
비밀글 체크박스를 안 보이게 하고
비밀번호 입력 필드의 문구를 변경하시려면
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해보시겠어요?
add_filter('kboard_get_template_field_html', 'my_kboard_get_template_field_html', 10, 4);
function my_kboard_get_template_field_html($layout, $field, $content, $board){
if(in_array($board->id, array('1','2'))){
$fields = $board->fields();
$boardBuilder = new KBoardBuilder($board->id);
$meta_key = (isset($field['meta_key']) && $field['meta_key']) ? $field['meta_key'] : '';
$field_name = (isset($field['field_name']) && $field['field_name']) ? $field['field_name'] : $field['field_label'];;
$placeholder = (isset($field['placeholder']) && $field['placeholder']) ? $field['placeholder'] : '';
$default_value = (isset($field['default_value']) && $field['default_value']) ? $field['default_value'] : '';
if(isset($field['meta_key']) && $field['meta_key'] == 'option'){
ob_start();
?>
<div class="kboard-attr-row <?php echo esc_attr($field['class'])?>">
<label class="attr-name" for="<?php echo esc_attr($meta_key)?>"><span class="field-name"><?php echo esc_html($field_name)?></span></label>
<div class="attr-value">
<label class="attr-value-option" style="display: none;"><input type="checkbox" name="secret" value="true" onchange="kboard_toggle_password_field(this)" checked> <?php echo __('Secret', 'kboard')?></label>
<?php if($fields->isUseFields($field['notice_permission'], $field['notice'])):?>
<label class="attr-value-option"><input type="checkbox" name="notice" value="true"<?php if($content->notice):?> checked<?php endif?>> <?php echo __('Notice', 'kboard')?></label>
<?php endif?>
<?php do_action('kboard_skin_editor_option', $content, $board, $boardBuilder)?>
<?php if(isset($field['description']) && $field['description']):?><div class="description"><?php echo esc_html($field['description'])?></div><?php endif?>
</div>
</div>
<?php if(!$board->viewUsernameField()):?>
<div style="overflow:hidden;width:0;height:0;">
<input style="width:0;height:0;background:transparent;color:transparent;border:none;" type="text" name="fake-autofill-fields">
<input style="width:0;height:0;background:transparent;color:transparent;border:none;" type="password" name="fake-autofill-fields">
</div>
<!-- 비밀글 비밀번호 필드 시작 -->
<div class="kboard-attr-row kboard-attr-password secret-password-row">
<label class="attr-name" for="kboard-input-password">전화번호뒷네자리 <span class="attr-required-text">*</span></label>
<div class="attr-value"><input type="password" id="kboard-input-password" name="password" value="<?php echo esc_attr($content->password)?>" placeholder="전화번호뒷네자리..."></div>
</div>
<!-- 비밀글 비밀번호 필드 끝 -->
<?php endif?>
<?php
$layout = ob_get_clean();
}
else if(isset($field['meta_key']) && $field['meta_key'] == 'author'){
ob_start();
?>
<?php if($field['permission'] == 'always_visible' || (!$field['permission'] && $board->viewUsernameField())):?>
<div class="kboard-attr-row <?php echo esc_attr($field['class'])?> required">
<label class="attr-name" for="kboard-input-member-display"><span class="field-name"><?php echo esc_html($field_name)?></span> <span class="attr-required-text">*</span></label>
<div class="attr-value"><input type="text" id="kboard-input-member-display" name="member_display" class="required" value="<?php echo $content->member_display?esc_attr($content->member_display):esc_attr($default_value)?>"<?php if($placeholder):?> placeholder="<?php echo esc_attr($placeholder)?>"<?php endif?>></div>
</div>
<?php elseif($field['permission'] == 'always_hide'):?>
<input type="hidden" id="kboard-input-member-display" name="member_display" value="<?php echo $content->member_display?esc_attr($content->member_display):esc_attr($default_value)?>">
<?php endif?>
<?php if($board->viewUsernameField()):?>
<div class="kboard-attr-row kboard-attr-password">
<label class="attr-name" for="kboard-input-password">전화번호뒷네자리 <span class="attr-required-text">*</span></label>
<div class="attr-value"><input type="password" id="kboard-input-password" name="password" value="<?php echo esc_attr($content->password)?>" placeholder="전화번호뒷네자리..."></div>
</div>
<?php endif?>
<?php
$layout = ob_get_clean();
}
}
return $layout;
}
위의 코드에서 in_array($board->id, array('1','2')) 부분에서 숫자는
실제 게시판 id로 적용해보시겠어요?
고맙습니다.
답변 감사합니다. 위 소스 적용 해보니
전화번호뒷네자리 로 표기되어야 하는 부분과 전화번호 뒷 네자를 입력해야하는 텍스트 부분은
ㅁㅁ?ㅁ?ㅁ??ㅁ??ㅁ << 이런 형태로 표현됩니다.
이렇게 표현되야 하는데 전화번호 뒷 네자리 [ 전화번호 뒷 네자리를 입력해주세요 ]
이렇게 기하학 기호로 표시됩니다. ???ㅁㅁㅁ?ㅁㅁㅁ [???ㅁㅁㅁ?ㅁㅁㅁ]
위 부분은 다른 텍스트로 수정해서 function으로 업데이트 시켜도 위와 같습니다.
코드 수정 후 한글이 깨지는 이유는 대부분 인코딩 문제입니다.
UTF-8 인코딩으로 파일을 수정하고 저장해주셔야 합니다.
아래의 링크를 참고해보시겠어요?
워드프레스 홈페이지 수정후 한글 깨지는 문제 해결 방법
고맙습니다.