갑자기 비밀글들이 다 보여요

게시판들의 비밀글이 모두가 볼 수 있게 되었습니다.

호스팅 만료되서 다시 연장했더니 갑자기 비밀글들이...비밀설정이 풀려있어요....

오랜된 사이트여서 게시판 업데이트 진행하고 확인하는데 이전글들도 비밀글로 강제 설정할 수 있는 방법이 있을까요?

 

그리고 업데이트 진행 한뒤 document.php 의 페이지만 꺠져서 보이는데 ㅠㅠ 왜그럴까요

https://imgur.com/0367ZYY

댓글쪽도 업데이트 했는데 에러 문구가 뜨네요..ㅠㅠ

 

 

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 댓글이랑 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;
    }

     

  • 그대로 사용해도 되는거 맞나요 ㅠㅠ?

     

  • 안녕하세요~^^

    Call to undefined function wp_doing_ajax 메시지 관련해서는

    워드프레스 버전 문제로 보입니다.

    KBoard 플러그인을 최신 버전으로 업데이트한다면

    워드프레스 버전도 최신 버전을 사용해주셔야 합니다.

     

    그리고 올려주신 코드는 입력 필드 설정을 지원하는 스킨에서

    게시글 작성 시 무조건 비밀글로 작성되도록 설정하는 코드입니다.

     

    기존에 작성된 비밀글과는 관련이 없습니다.

    데이터베이스(DB)에 접속이 가능하시다면

    kboard_board_content 테이블에 비밀글로 표시되어야 하는

    게시글의 secret 컬럼의 값이 true로 설정되어 있는지 확인해보시겠어요?

    고맙습니다.

  • 그럼 이전의 글을 모두 비밀글로 변경하고 싶을때에는 DB를 수정해야하나요?

  • 기존 작성된 게시글을 비밀글로 설정하시려면

    데이터베이스(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 플러그인을 사용해서 코드를 추가할 수 있습니다.

     

    비밀글로 변경된 것을 확인하셨다면 추가한 코드는 지워보세요.

    고맙습니다.

  • 오 해결됬습니다 ㅠㅠ 정말 감사합니다!

     

이미지 사진은 imgur에 업로드한 뒤 링크 걸어주세요.
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기