<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
	<channel>
				<title><![CDATA[특정 옵션이 선택된 글만 모아보는 전체 게시판]]></title>
		<link>https://www.cosmosfarm.com/threads/rss/document/38729</link>
		<description><![CDATA[<p>안녕하세요.</p>

<p>항상 문의사항에 좋은 해답 주셔서 감사합니다. ㅎㅎ</p>

<p>케이보드에서 cate_select 라는 메타키를 가지고 있는 옵션에 카테1 이라는 항목을 선택한 글들만 한 게시판에 모아서 보고 싶은데요.</p>

<p>기존 스레드들을 보면서 아래와 같은 코드를 넣어봤는데, 전체 게시물 모아보는 코드까지는 작동을 하지만 AND (`option_key`='{$option_key}' AND `option_value` = '{$option_value}') 이 코드가 들어가면 작동이 안 하더라고요.</p>

<pre>
<code class="language-php">add_filter('kboard_list_where', 'all_kboard_list_where', 10, 3);
function all_kboard_list_where($where, $board_id, $content_list){
    global $wpdb;
    
    $option_key = 'cate_select';
	$option_value = '카테1';
    
	if($board_id == '4'){
		$where = "(`board_id` BETWEEN '2' AND '23') AND `parent_uid`='0' AND `notice`='' AND (`status`='' OR `status` IS NULL OR `status`='pending_approval') AND (`option_key`='{$option_key}' AND `option_value` = '{$option_value}')";
	}
	return $where;
}</code></pre>

<p>쿼리문이나 php에 대한 체계적인 지식이 없다보니까... 다른 글들에 있는 코드들을 짜집기 하면 뜰 줄 알았던 결과물이 안 떠서 방법이 떠오르지가 않아서 문의 드립니다!</p>

<p>혹시 어떤 부분을 수정하면 될지 말씀해주시면 적용해보겠습니다.</p>

<p> </p>

<p>그리고 추가로, 회원가입을 할 때 받은 옵션에 따라서 '카테1'이었던 것을 '카테2'나 그 외의 옵션으로 바꿔서 게시판에 뜨도록 할 수도 있을까요?</p>

<p>예를 들면 회원가입할 때 company_subject 라는 메타키를 가진 항목에 카테2 라는 입력값을 받았으면 전체 게시판에서 cate_select 의 카테2 가 선택된 글들만 모아볼 수 있게요.</p>

<p>company_subject 에 카테1을 받았으면 전체 게시판에서는 cate_select 의 카테1만 보이는 식으로.. 만들어보려고 생각하고 있습니다.</p>

<p>제 생각에는 if($board_id == '4') 이거 옆에 다른 조건을 붙여서 어찌저찌 하면 될 거 같은데.. 그 어찌저찌의 실마리를 못 찾고 있습니다. ㅠㅠ</p>

<p>문의사항 정리 드리자면</p>

<p> </p>

<p>1. 모든 게시판에서 cate_select 옵션에서 카테1 이라는 값을 가진 글들을 모아서 보는 코드를 짜봤는데 작동이 되지 않습니다. 이유가 뭘까요...?</p>

<p> </p>

<p>2. 회원가입시 입력받은 값에 따라 전체 게시판에서 보이는 글들의 조건을 변경하고 싶습니다.</p>

<p> </p>

<p>문의사항 검토해주시고 가능하시다면 개선 방향 알려주세요.</p>

<p>감사합니다!</p>]]></description>
		<copyright>Copyright 2026, 코스모스팜</copyright>
				<item>
			<title><![CDATA[안녕하세요~ 방금 글을 올렸었는데요 ㅎㅎ

코드를 같게 넣었는데 해당 id로 되어있는 게시판이 보이지 ...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/56485</link>
			<description><![CDATA[<p>안녕하세요~ 방금 글을 올렸었는데요 ㅎㅎ</p>

<p>코드를 같게 넣었는데 해당 id로 되어있는 게시판이 보이지 않습니다 ㅠㅠ </p>

<p>제가 바꾼부분은 </p>

<pre>
<code>add_filter('kboard_list_from', 'my_kboard_list_from', 10, 3);
function my_kboard_list_from($from, $board_id, $content_list){
	global $wpdb;
	if($board_id == '4'){ // 실제 게시판 id로 적용해주세요.
		$from .= " LEFT JOIN `{$wpdb-&gt;prefix}kboard_board_option` ON `{$wpdb-&gt;prefix}kboard_board_content`.`uid`=`{$wpdb-&gt;prefix}kboard_board_option`.`content_uid`";
	}
	return $from;
}</code></pre>

<p>여기 중 board_id 값과 </p>

<p> </p>

<pre>
<code>add_filter('kboard_list_where', 'all_kboard_list_where', 10, 3);
function all_kboard_list_where($where, $board_id, $content_list){
    global $wpdb;
    
    $user = wp_get_current_user();
    $option_key = 'cate_select';
    
    if($user-&gt;cate1 == 'cate1'){
        $option_value1 = '카테1';
    }
    
    if($user-&gt;cate2 == 'cate2') {
        $option_value2 = '카테2';
    }
    
	if($board_id == '4'){
		$where = "(`board_id` BETWEEN '2' AND '23') AND `parent_uid`='0' AND `notice`='' AND (`status`='' OR `status` IS NULL OR `status`='pending_approval') AND (`option_key`='{$option_key}' AND `option_value` = '{$option_value1}' OR `option_value` = '{$option_value2}')";
	}
	return $where;
}</code></pre>

<p> $option_key = 'cate_select';</p>

<p>이부분의 meta key 값과 </p>

<p> if($user-&gt;cate1 == 'cate1'){<br />
        $option_value1 = '카테1';<br />
    }<br />
  이부분의 '카테1' -&gt; '유료'(옵션이름)</p>

<p>인데요 혹시 제가 잘못 넣은 부분이 있는지 확인해주실 수 있을까요?ㅠㅠ </p>]]></description>
			<author>지영</author>
			<pubDate>Wed, 24 Nov 2021 02:38:12 +0000</pubDate>
			<category>KBoard</category>
		</item>
				<item>
			<title><![CDATA[안녕하세요. 저도 같은 문제로 찾아보던 중 너무나 잘 적어주신 글 덕분에 감사히 코드를 넣었습니다 ㅎ...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/56484</link>
			<description><![CDATA[<p>안녕하세요. 저도 같은 문제로 찾아보던 중 너무나 잘 적어주신 글 덕분에 감사히 코드를 넣었습니다 ㅎㅎ</p>

<p>현재 차일드테마 functions에 넣은 상태인데요~</p>

<p>혹시 워드프레스에 숏코드로 넣을 수 있는 방법도 있을까요?</p>]]></description>
			<author>지영</author>
			<pubDate>Wed, 24 Nov 2021 02:26:06 +0000</pubDate>
			<category>KBoard</category>
		</item>
				<item>
			<title><![CDATA[답변 감사합니다!

옵션값에 따라 불러오는 것 말씀해주신 글대로 아래 코드 넣으니까 정상적으로 나왔...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/38733</link>
			<description><![CDATA[<p>답변 감사합니다!</p>

<p>옵션값에 따라 불러오는 것 말씀해주신 글대로 아래 코드 넣으니까 정상적으로 나왔습니다.</p>

<pre>
<code class="language-php">add_filter('kboard_list_from', 'my_kboard_list_from', 10, 3);
function my_kboard_list_from($from, $board_id, $content_list){
	global $wpdb;
	if($board_id == '4'){ // 실제 게시판 id로 적용해주세요.
		$from .= " LEFT JOIN `{$wpdb-&gt;prefix}kboard_board_option` ON `{$wpdb-&gt;prefix}kboard_board_content`.`uid`=`{$wpdb-&gt;prefix}kboard_board_option`.`content_uid`";
	}
	return $from;
}
</code></pre>

<p> </p>

<p>그리고 회원 옵션값에 따라서 보이는 게시글 조정은 현재 접속한 유저의 옵션을 사용해야해서 wp_get_current_user() 를 사용했습니다.</p>

<p>아래 코드로 적용을 했고요.</p>

<p>아는 거라곤 if문밖에 없어서 너무 더럽게 짜여진 거 같긴 하지만... 참고하실 분이 계실 수도 있을 듯 해서 코드 스니펫 함께 첨부합니다.</p>

<pre>
<code class="language-php">add_filter('kboard_list_where', 'all_kboard_list_where', 10, 3);
function all_kboard_list_where($where, $board_id, $content_list){
    global $wpdb;
    
    $user = wp_get_current_user();
    $option_key = 'cate_select';
    
    if($user-&gt;cate1 == 'cate1'){
        $option_value1 = '카테1';
    }
    
    if($user-&gt;cate2 == 'cate2') {
        $option_value2 = '카테2';
    }
    
	if($board_id == '4'){
		$where = "(`board_id` BETWEEN '2' AND '23') AND `parent_uid`='0' AND `notice`='' AND (`status`='' OR `status` IS NULL OR `status`='pending_approval') AND (`option_key`='{$option_key}' AND `option_value` = '{$option_value1}' OR `option_value` = '{$option_value2}')";
	}
	return $where;
}</code></pre>

<p> </p>

<p>도움 주신 덕분에 잘 해결 됐습니다.</p>

<p>감사합니다! ㅎㅎ</p>]]></description>
			<author>황금고블린</author>
			<pubDate>Fri, 15 Nov 2019 05:10:02 +0000</pubDate>
			<category>KBoard</category>
		</item>
				<item>
			<title><![CDATA[안녕하세요~^^

KBoard 플러그인에서 입력 필드는 kboard_board_option 테이블에

option_key 컬럼과 op...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/38732</link>
			<description><![CDATA[<p>안녕하세요~^^</p>

<p>KBoard 플러그인에서 입력 필드는 kboard_board_option 테이블에</p>

<p>option_key 컬럼과 option_value 컬럼 등으로 저장됩니다.</p>

<p>그렇기 때문에 올려주신 코드는 에러가 발생합니다.</p>

<p> </p>

<p>kboard_list_from 필터를 활용해서 테이블 조인도 해주셔야 할 듯합니다.</p>

<p>아래 링크의 코드를 참고해보시겠어요?</p>

<p><a href="https://www.cosmosfarm.com/threads/document/27474" target="_blank">https://www.cosmosfarm.com/threads/document/27474</a></p>

<p> </p>

<p>회원가입 시 입력한 값을 가져오는 건</p>

<p>워드프레스 get_user_meta 함수를 활용하시면 가능합니다.</p>

<p>자세한 내용은 아래의 링크를 참고해보세요.</p>

<p><a href="https://developer.wordpress.org/reference/functions/get_user_meta/" target="_blank">https://developer.wordpress.org/reference/functions/get_user_meta/</a></p>

<p>고맙습니다.</p>]]></description>
			<author>스레드봇</author>
			<pubDate>Fri, 15 Nov 2019 04:36:21 +0000</pubDate>
			<category>KBoard</category>
		</item>
			</channel>
</rss>