게시판들의 비밀글이 모두가 볼 수 있게 되었습니다.
호스팅 만료되서 다시 연장했더니 갑자기 비밀글들이...비밀설정이 풀려있어요....
오랜된 사이트여서 게시판 업데이트 진행하고 확인하는데 이전글들도 비밀글로 강제 설정할 수 있는 방법이 있을까요?
그리고 업데이트 진행 한뒤 document.php 의 페이지만 꺠져서 보이는데 ㅠㅠ 왜그럴까요
https://imgur.com/0367ZYY
댓글쪽도 업데이트 했는데 에러 문구가 뜨네요..ㅠㅠ
오 해결됬습니다 ㅠㅠ 정말 감사합니다!
기존 작성된 게시글을 비밀글로 설정하시려면
데이터베이스(DB)에서 수정하시거나 각 게시글 수정 페이지에서 수정해주셔야 할 듯합니다.
만약, 기존 작성된 모든 게시글을 비밀글로 설정하시려면
아래 코드를 활용해보세요.
add_action('init', 'init_20210624');
function init_20210624(){
global $wpdb;
$board_id = '1'; // 실제 게시판 id로 적용해주세요.
$wpdb->query("UPDATE `{$wpdb->prefix}kboard_board_content` SET `secret`='true' WHERE `board_id`='{$board_id}'");
}
위의 코드에서 $board_id = '1' 부분은 실제 게시판 id로 적용해주세요.
테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.
비밀글로 변경된 것을 확인하셨다면 추가한 코드는 지워보세요.
고맙습니다.
그럼 이전의 글을 모두 비밀글로 변경하고 싶을때에는 DB를 수정해야하나요?
안녕하세요~^^
Call to undefined function wp_doing_ajax 메시지 관련해서는
워드프레스 버전 문제로 보입니다.
KBoard 플러그인을 최신 버전으로 업데이트한다면
워드프레스 버전도 최신 버전을 사용해주셔야 합니다.
그리고 올려주신 코드는 입력 필드 설정을 지원하는 스킨에서
게시글 작성 시 무조건 비밀글로 작성되도록 설정하는 코드입니다.
기존에 작성된 비밀글과는 관련이 없습니다.
데이터베이스(DB)에 접속이 가능하시다면
kboard_board_content 테이블에 비밀글로 표시되어야 하는
게시글의 secret 컬럼의 값이 true로 설정되어 있는지 확인해보시겠어요?
고맙습니다.
그대로 사용해도 되는거 맞나요 ㅠㅠ?
댓글이랑 document 쪽은 해결했어요!
강제 비밀글 설정은 아래 코드를 찾긴했는데 안먹네요 ㅠㅠㅠ 다른코드 있을까요?
스킨은 default/ id=1 을 사용하고있습니다. ㅠㅠ
add_filter('kboard_get_template_field_html', 'kboard_get_template_field_html_20210326', 10, 4);
function kboard_get_template_field_html_20210326($layout, $field, $content, $board){
if($board->id == '1'){ // 실제 게시판 id로 적용해주세요.
$fields = $board->fields();
$builder = 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'];;
$default_value = (isset($field['default_value']) && $field['default_value']) ? $field['default_value'] : '';
if(isset($field['meta_key']) && $field['meta_key'] == 'option'){
ob_start();
?>
<?php if($fields->isUseFields($field['notice_permission'], $field['notice'])):?>
<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"><input type="checkbox" name="notice" value="true"<?php if($content->notice):?> checked<?php endif?>> <?php echo __('Notice', 'kboard')?></label>
<?php do_action('kboard_skin_editor_option', $content, $board, $builder)?>
<?php if(isset($field['description']) && $field['description']):?><div class="description"><?php echo esc_html($field['description'])?></div><?php endif?>
</div>
</div>
<?php endif?>
<?php if(!$board->viewUsernameField()):?>
<input type="hidden" name="secret" value="true">
<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 required">
<label class="attr-name" for="kboard-input-password"><span class="field-name"><?php echo __('Password', 'kboard')?></span> <span class="attr-required-text">*</span></label>
<div class="attr-value"><input type="password" id="kboard-input-password" class="required" name="password" value="<?php echo esc_attr($content->password)?>"></div>
</div>
<!-- 비밀글 비밀번호 필드 끝 -->
<?php endif?>
<?php
$layout = ob_get_clean();
}
else if(isset($field['meta_key']) && $field['meta_key'] == 'author'){
ob_start();
?>
<input type="hidden" name="secret" value="true">
<?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"><?php echo __('Password', 'kboard')?> <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="<?php echo __('Password', 'kboard')?>..."></div>
</div>
<?php endif?>
<?php
$layout = ob_get_clean();
}
}
return $layout;
}