1. 정확한 제품 또는 플러그인 이름
kboard , 우커머스
2. 상세 내용
현재 우커머스 Q&A 넣는 방식으로 리뷰게시판을 kboard게시판으로 연동은 잡았습니다.
메뉴중에 리뷰게시판이라고 모든 리뷰게시글이 보이게 해뒀습니다.
각각 상품 single페이지에서 작성하는것 외에,
"리뷰게시판" 이라는 페이지에서도 글작성을 유도하고있습니다.
카테고리1을 product id로 연동잡긴했는데,
"전체 리뷰게시판 " 이라는 영역에서 글작성시
카테고리1이라는 곳에 또는 별도의 select box로 우커머스에 등록되어있는 모든 상품을 불러와 option 값으로 주고 싶습니다.
가능할까요?
글작성자는 상품을 검색후 상품명을 넣고, (자동완성기능("autocomplete")으로 사용하는 것이 가장 좋음)
작성할 수 있었으면 좋겠습니다.
당연히 상품을 선택한 후에는 우커머스에 연동한 게시글에도 표시가 되어야 하고요.
3. 확인 가능한 상세 페이지 주소
4. 수정한 코드 내역 (있다면)
안녕하세요~^^
kboard_get_template_field_html 필터를 사용하면
KBoard의 입력 필드들을 수정하실 수 있습니다.
간단하게 예제 코드를 만들어보았습니다.
아래의 코드를 테마 functions.php에 입력해보시겠어요?
add_filter('kboard_get_template_field_html', 'kboard_get_template_field_html_1026', 10, 4);
function kboard_get_template_field_html_1026($field_html, $field, $content, $board){
if($board->id == 1){ // 적용할 게시판의 id를 입력하세요
if($field['field_type'] == 'category1'){
$args = array(
'post_type' => 'product',
'posts_per_page' => -1,
);
$products = new WP_Query($args);
ob_start();
?>
<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" />
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
<div class="kboard-attr-row kboard-attr-category1">
<label class="attr-name" for="category1"><span class="field-name">카테고리1</span> <span class="attr-required-text">*</span></label>
<div class="attr-value">
<select id="category1" name="category1" class="select2">
<option value="">선택</option>
<?php foreach($products->posts as $product):?>
<option value="<?php echo $product->ID?>"><?php echo $product->post_title?></option>
<?php endforeach?>
</select>
</div>
</div>
<script>
jQuery(document).ready(function($){
$('.select2').select2();
});
</script>
<?php
$field_html = ob_get_clean();
}
}
return $field_html;
}
상품이 과도하게 많을 경우
페이지 로딩 속도가 느려질 수 있습니다.
예제코드를 적절하게 수정하여 적용해보시겠어요?
코드를 작성하기 어려우시다면
프로젝트 의뢰에 자세한 내용을 남겨보세요.
https://www.cosmosfarm.com/project
고맙습니다.