케이보드 컨택트폼 카테고리 관련 문의

 

안녕하세요. 컨택트폼을 이용해서 관리자만 설정할 수 있는 상태를 추가하고 싶어, 카테고리를 추가했습니다.

근데, 입력필드에서 카테고리 설정부분에서 "로그인 사용" 만 표시와 기본값을 "답변대기" 로 했는데,

기본값 적용이 안되는거 같애요 ㅜㅜ 따로 설정을 해야할까요..

아래 링크 참고해서 적용시켜봤는데, 안되더라구요.. 컨택트폼 스킨은 적용안되는건가요???

https://www.cosmosfarm.com/threads/document/15196

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    질문의 내용이 이해가 잘 가지 않습니다.

    올려주신 링크는 게시글 목록 페이지에서 카테고리를 선택해서 게시글을 보고

    카테고리가 선택된 상태에서 글쓰기 시 목록 페이지에서 선택한 카테고리가

    자동으로 카테고리가 선택되는 코드입니다.

     

    어떻게 하고 싶으신지 좀 더 구체적인 상황을 설명해주시면

    저희도 도움 드릴 방법이 있는지 찾아보겠습니다.

    고맙습니다.

  • 아 그렇군요! 제 질문은 카테고리가 "카테고리1","카테고리2","카테고리3" 이렇게 있을경우, 

    최초 글작성 시 무조건 "카테고리1" 로 기본값이 들어가게 설정하고 싶습니다!

    입력필드 설정에서 카테고리 설정 후 기본값을 지정했는데도, 안되더라구요..

     

    아래 링크 보시면, 현재 "카테고리 선택" 으로 되어 있습니다.

    이걸 무조건 "처리중" 으로 고정되게 하고 싶습니다.

    https://imgur.com/JEFo8i2

  • 입력필드 설정 중 카테고리1, 카테고리2 기본값으로 선택되게 하시려면

    아래의 코드를 활용해보시겠어요?

    add_filter('kboard_get_template_field_html', 'kboard_get_template_field_html_20200708', 10, 4);
    function kboard_get_template_field_html_20200708($field_html, $field, $content, $board){
    	if($board->id == '1' && !$content->uid){ // 실제 게시판 id로 적용해주세요.
    		$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'] : '';
    		$required = (isset($field['required']) && $field['required']) ? $field['required'] : '';
    		$default_value = (isset($field['default_value']) && $field['default_value']) ? $field['default_value'] : '';
    		
    		if($field['field_type'] == 'category1'){
    			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($default_value == $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'){
    			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($default_value == $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로 적용해주세요.

    추후 KBoard 플러그인 입력 필드를 개선하여 업데이트하도록 하겠습니다.

    고맙습니다.

  • 안녕하세요. 알려주신 코드로 적용했는데 안됩니다 ㅠㅠ

    카테고리 명칭을 변경하게 되면 적용이 안되나요???

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