kboard 내가쓴게시글

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는 잘몰라서요 ㅠ

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요