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

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