안녕하세요.
버튼 클릭시 카테고리를 자동으로 선택되게 하는 방법을 문의드립니다.
예시) category1 = A, B, C / category2 = D, E, F
버튼 URL - http://도메인/게시판페이지/?category1=A&category2=D
위와 같은 예시로 테스트를 해 보았는데 자동 선택이 안됩니다.
그럼 답변 부탁드립니다.
감사합니다.
안녕하세요~^^
버튼은 어떤 식으로 추가하셨는지요?
저희도 확인해볼 수 있는 페이지 주소 알려주시면 살펴보겠습니다.
고맙습니다.
게시글 작성 시 URL에 따라 카테고리를 자동으로 선택하고 싶으신 건지요?
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 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){
$meta_key = (isset($field['meta_key'])&&$field['meta_key']) ? $field['meta_key'] : '';
$required = (isset($field['required'])&&$field['required']) ? $field['required'] : '';
$field_name = (isset($field['field_name'])&&$field['field_name']) ? $field['field_name'] : ((isset($field['field_label'])&&$field['field_label']) ? $field['field_label'] : '');
if($board->id == '1'){ // 실제 게시판 id로 적용해주세요.
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(($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'){
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로 적용해보세요.
입사지원 바로가기 버튼의 주소는
글쓰기페이지주소/?category1=카테고리1&category2=카테고리2 이런 식으로 적용해보시겠어요?
고맙습니다.
답변해 주신 대로 적용하였더니 잘 작동되네요^^
감사합니다!