1. 정확한 제품 또는 플러그인 이름
kboard
2. 상세 내용
안녕하세요
Q&A게시판 한개를 만들어서
http://standingcoffee.co.kr/qa/ (Q&A페이지 - list)
http://standingcoffee.co.kr/product/blend-n-1/(상품의 Q&A) 를 연동 하여 사용중입니다.
블로그 보고 커스텀하여 여기까진 이상이없어용
근데 이제 로그인하고 마이페이지에 내가쓴 게시글을 만들고싶어서 블로그 보고 제작해서 불러오기까지 했는데
어떤상품인지 카테고리가 떴으면 좋겠는데 아무래도 Q&A게시판에 (답변대기, 답변완료)를 설정해서 상품 카테고리가 안뜨더라구요
https://imgur.com/a/fvqJ3Qj
위의 링크 확인하시면 Q&A페이지에서 게시글쓴경우는 카테고리안나오고 / 상품의 Q&A페이지에서 게시글쓰면 카테고리로 숫자가 나오던데
답변대기/답변완료를 사용하면서, 상품의 Q&A페이지에서 글쓰면 어떤상품인지 카테고리에 나오게끔 설정이 가능한가요??
3. 확인 가능한 상세 페이지 주소
4. 수정한 코드 내역 (있다면)
안녕하세요~^^
목록에 답변상태 대신에 카테고리가 나오길 원하시는걸까요?
상품에 카테고리가 나오길원하시는걸까요?
좀 더 자세히 말씀해주시겠어요?
고맙습니다.
음 Q&A페이지에서는 원래대로 답변완료/ 답변대기 가 나왔으면하구용
마이페이지의 내가쓴 게시글에서는 상품의 이름이 나왔으면 좋겠어용
안녕하세요~^^
우커머스 상품 이름을 가져오는 코드가 있는 링크를 남겨드릴테니
아래 링크를 참고하셔서 코드를 수정해보시겠어요?
https://www.cosmosfarm.com/threads/document/34762
고맙습니다.
안녕하세요~
알려주신 링크 확인했습니다
다만 Q&A게시판이 상품을 구매하기 전에도 글 작성이 가능한데
알려주신 링크에 보면 내가 구매한 상품의 카테고리를 가져오는코드더라구요
아래는 마이페이지에 게시글 불러오는 코드인데
echo '<span class="mypageCategory">'.$content->category1.'</span>';
해당 코드가 카테고리(답변대기, 답변완료) 를 불러오는 거라면
Q&A게시판이 지금 상품별로 따로 적용되는데 어떤상품에 게시글을 썼는지 상품명을 가져오고싶습니다 ㅠ
//케이보드 위젯 > 내가 쓴글 확인하기
add_action('widgets_init', 'test_my_kboard_latest_widget_init');
function test_my_kboard_latest_widget_init(){
register_widget('Test_My_KBoard_Latest_Widget');
}
class Test_My_KBoard_Latest_Widget extends WP_Widget {
public function __construct(){
parent::__construct('test_my_kboard_latest_widget', 'KBoard 내가 쓴 게시글', array(
'classname' => 'test_my_kboard_latest_widget',
'description' => '내가 쓴 게시글 목록을 볼 수 있습니다.',
));
}
public function widget($args, $instance){
global $wpdb;
echo $args['before_widget'];
if(!empty($instance['title'])){
echo $args['before_title'] . apply_filters('widget_title', $instance['title']) . $args['after_title'];
}
if(!empty($instance['limit'])){
$limit = intval($instance['limit']);
}
if($limit <= 0) $limit = 5;
if(is_user_logged_in()){
$where = array();
// 사용자 ID
$user_id = get_current_user_id();
$where[] = "`member_uid`='{$user_id}'";
// 제외할 게시판 아이디
if(!empty($instance['exclude'])){
$exclude = esc_sql($instance['exclude']);
$where[] = "`board_id` NOT IN ({$exclude})";
}
// 휴지통에 없는 게시글만 불러온다.
$where[] = "(`status`='' OR `status` IS NULL OR `status`='pending_approval')";
$where = implode(' AND ', $where);
$results = $wpdb->get_results("SELECT `uid` FROM `{$wpdb->prefix}kboard_board_content` WHERE {$where} ORDER BY `date` DESC LIMIT {$limit}");
if(!$results){
echo '<p>내 게시글이 없습니다.</p>';
}
else{
$url = new KBUrl();
echo '<ul>';
foreach($results as $row){
echo '<li>';
$content = new KBContent();
$content->initWithUID($row->uid);
echo '<span class="mypageCategory">'.$content->category1.'</span>';
echo '<div class="title-stings"><p><a href="'.$url->getDocumentRedirect($content->uid).'" title="이동">'.$content->title.'</a></p>
<span class="mypage-date">'.date('20y-m-d', strtotime($content->date)).'</span>
</div>';
// echo '';
echo '</li>';
}
echo '</ul>';
}
}
else{
$login_url = wp_login_url(get_permalink());
echo '<p>먼저 <a href="'.$login_url.'" title="로그인">로그인</a> 해주세요.</p>';
}
echo $args['after_widget'];
}
public function form($instance){
$title = !empty($instance['title'])?$instance['title']:'';
$limit = !empty($instance['limit'])?$instance['limit']:'5';
$exclude = !empty($instance['exclude'])?$instance['exclude']:'';
?>
<p>
<label for="<?php echo esc_attr($this->get_field_id('title'))?>">위젯 제목</label>
<input class="widefat" id="<?php echo esc_attr($this->get_field_id('title'))?>" name="<?php echo esc_attr($this->get_field_name('title'))?>" type="text" value="<?php echo esc_attr($title)?>">
</p>
<p>
<label for="<?php echo esc_attr($this->get_field_id('limit'))?>">출력개수</label>
<input class="widefat" id="<?php echo esc_attr($this->get_field_id('limit'))?>" name="<?php echo esc_attr($this->get_field_name('limit'))?>" type="text" value="<?php echo intval($limit)?>">
</p>
<p>
<label for="<?php echo esc_attr($this->get_field_id('exclude'))?>">제외할 게시판</label>
<input class="widefat" id="<?php echo esc_attr($this->get_field_id('exclude'))?>" name="<?php echo esc_attr($this->get_field_name('exclude'))?>" type="text" value="<?php echo esc_attr($exclude)?>" placeholder="예제 1,2,3">
<span>콤마(,)로 구분해서 게시판 ID를 입력해주세요.</span>
</p>
<?php
}
public function update($new_instance, $old_instance){
$instance = array();
$instance['title'] = (!empty($new_instance['title']))?strip_tags($new_instance['title']):'';
$instance['limit'] = (!empty($new_instance['limit']))?intval($new_instance['limit']):'';
$instance['exclude'] = (!empty($new_instance['exclude']))?strip_tags($new_instance['exclude']):'';
return $instance;
}
}
안녕하세요~^^
각상품에 연결되어 있는 Q&A게시판에 글작성 페이지에서
아래 코드를 사용해서 현재 페이지상품 이름을 가져옵니다.
global $product;
$product_id = $product->get_id();
$product = wc_get_product($product_id);
$product_name = $product->get_name();
상품 이름을 가져온 뒤 케이보드 옵션 추가 필드를 사용해서 가져온 상품 이름을 저장합니다.
예를 들어서 아래 코드처럼 참고해보사겠어요?
<input type="text" id="kboard_option_productname" name="kboard_option_productname" value="<?php echo esc_attr($product_name)?>">
그다음 케이보드 옵션에 저장된 이 상품 이름을 리스트에 가져와서 사용하시면 될 것 같습니다.
위 코드들을 참고하셔서 코드를 수정해보시겠어요?
고맙습니다.
안녕하세요
각상품에 연결되어 있는 Q&A게시판에 글작성 페이지에서
아래 코드를 사용해서 현재 페이지상품 이름을 가져옵니다.
global $product;
$product_id = $product->get_id();
$product = wc_get_product($product_id);
$product_name = $product->get_name();
이게 qna스킨의 editor.php에 해당코드를 넣으라는건가요??
제가 php는 잘몰라서요 ㅠ