글쓰기 카테고리 자동으로 선택되게 하고 싶습니다.

리스트 화면에서 카테고리를 보고 있을경우 글쓰기를 하면 리스트에서 선택된 카테고리가 자동으로 선택 가능할까요?

제발 부탁 드립니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 안녕하세요~^^

    스킨 파일을 수정해주시면 가능합니다.

    FTP로 접속해서 /wp-content/plugins/kboard/skin/사용중인스킨/editor.php 파일을 수정해주세요.

     

    카테고리1 수정

    <option value="<?php echo $board->currentCategory()?>"<?php if($content->category1 == $board->currentCategory()):?> selected<?php endif?>><?php echo $board->currentCategory()?></option>

    위 코드를 아래 코드로 변경해주세요.

    <option value="<?php echo $board->currentCategory()?>"<?php if(($content->category1?$content->category1:kboard_category1()) == $board->currentCategory()):?> selected<?php endif?>><?php echo $board->currentCategory()?></option>

     

    카테고리2 수정

    <option value="<?php echo $board->currentCategory()?>"<?php if($content->category2 == $board->currentCategory()):?> selected<?php endif?>><?php echo $board->currentCategory()?></option>

    위 코드를 아래 코드로 변경해주세요.

    <option value="<?php echo $board->currentCategory()?>"<?php if(($content->category2?$content->category2:kboard_category2()) == $board->currentCategory()):?> selected<?php endif?>><?php echo $board->currentCategory()?></option>

     

    고맙습니다.

  • 최신 버전 kboard 에서는 editor.php 파일에 위의 코드가 없네요.

    카테고리 자동 선택 방법을 다시 알려주시면 고맙겠습니다.

  • 안녕하세요.

    최신 버전의 KBoard 플러그인에서

    입력 필드 설정 기능을 지원하는 스킨을 사용 중이시라면

    스킨 파일을 직접 수정하지 않고도 가능합니다.

     

    워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에

    아래의 코드를 추가해보시겠어요?

    add_filter('kboard_get_template_field_html', 'my_kboard_get_template_field_html', 10, 4);
    function my_kboard_get_template_field_html($field_html, $field, $content, $board){
    	if($board->id == '1'){ // 실제 게시판 id로 적용해주세요.
    		if($field['field_type'] == 'category1'){
    			$fields = $board->fields();
    			$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'];;
    			$required = (isset($field['required']) && $field['required']) ? $field['required'] : $field['required'];;
    			
    			ob_start();
    			?>
    			<?php if(!$board->isTreeCategoryActive()):?>
    				<?php if($board->initCategory1()):?>
    					<div class="kboard-attr-row <?php echo esc_attr($field['class'])?> <?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">
    							<select id="<?php echo esc_attr($meta_key)?>" name="category1" class="<?php echo esc_attr($required)?>">
    								<option value=""><?php echo __('Category', 'kboard')?> <?php echo __('Select', 'kboard')?></option>
    								<?php while($board->hasNextCategory()):?>
    								<option value="<?php echo $board->currentCategory()?>"<?php if(($content->category1?$content->category1:kboard_category1()) == $board->currentCategory()):?> selected<?php endif?>><?php echo $board->currentCategory()?></option>
    								<?php endwhile?>
    							</select>
    							<?php if(isset($field['description']) && $field['description']):?><div class="description"><?php echo esc_html($field['description'])?></div><?php endif?>
    						</div>
    					</div>
    				<?php endif?>
    			<?php endif?>
    			<?php
    			$field_html = ob_get_clean();
    		}
    		else if($field['field_type'] == 'category2'){
    			$fields = $board->fields();
    			$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'];;
    			$required = (isset($field['required']) && $field['required']) ? $field['required'] : $field['required'];;
    			
    			ob_start();
    			?>
    			<?php if(!$board->isTreeCategoryActive()):?>
    				<?php if($board->initCategory2()):?>
    					<div class="kboard-attr-row <?php echo esc_attr($field['class'])?> <?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">
    							<select id="<?php echo esc_attr($meta_key)?>" name="category2" class="<?php echo esc_attr($required)?>">
    								<option value=""><?php echo __('Category', 'kboard')?> <?php echo __('Select', 'kboard')?></option>
    								<?php while($board->hasNextCategory()):?>
    								<option value="<?php echo $board->currentCategory()?>"<?php if(($content->category2?$content->category2:kboard_category2()) == $board->currentCategory()):?> selected<?php endif?>><?php echo $board->currentCategory()?></option>
    								<?php endwhile?>
    							</select>
    							<?php if(isset($field['description']) && $field['description']):?><div class="description"><?php echo esc_html($field['description'])?></div><?php endif?>
    						</div>
    					</div>
    				<?php endif?>
    			<?php endif?>
    			<?php
    			$field_html = ob_get_clean();
    		}
    	}
    	
    	return $field_html;
    }

    위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해주세요.

     

    필드를 실제 표시하는 코드는

    FTP로 접속해서 /wp-content/plugins/kboard/skin/사용중인스킨/editor-fields.php 파일에서 확인하실 수 있습니다.

    고맙습니다.

  • 감사합니다. 잘 작동됩니다!!

  • 여러개의 게시판에 동일하게 적용하려면 쉼표로 구분해주면 되나요?

    $board->id == '1,2,3,4,5' 

     

  • 여러 개의 게시판에 적용하시려면

    $board->id == '1' 부분을 in_array($board->id, array('1', '2', '3', '4', '5')) 이런 식으로

    교체해서 확인해보시겠어요?

    고맙습니다.

  • 감사합니다^^

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기