<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
	<channel>
				<title><![CDATA[글쓴이의 글 작성 목록 보기 질문]]></title>
		<link>https://www.cosmosfarm.com/threads/rss/document/42421</link>
		<description><![CDATA[<p>늘 고생하시는 제작자님 항상 감사합니다.</p>

<p> </p>

<p>위젯을 이용해서 작성자의 글을 보여주려고 합니다.</p>

<p> </p>

<p><a href="https://blog.naver.com/chan2rrj/221032820645">https://blog.naver.com/chan2rrj/221032820645</a> 우선 여기 올려주신 코드를 활용해서</p>

<p> </p>

<pre>
<code>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' =&gt; 'test_my_kboard_latest_widget',
			'description' =&gt; '내가 쓴 게시글 목록을 볼 수 있습니다.',
		));
	}

	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 &lt;= 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-&gt;get_results("SELECT `uid` FROM `{$wpdb-&gt;prefix}kboard_board_content` WHERE {$where} ORDER BY `date` DESC LIMIT {$limit}");

			if(!$results){
				echo '&lt;p&gt;작성한 게시글이 없습니다.&lt;/p&gt;';
			}
			else{
				$url = new KBUrl();

				echo '&lt;ul&gt;';

				foreach($results as $row){
					echo '&lt;li&gt;';

        $content = new KBContent();
		$content-&gt;initWithUID($row-&gt;uid);

					echo '&lt;a href="'.$url-&gt;getDocumentRedirect($content-&gt;uid).'" title="이동"&gt;'.$content-&gt;title.'&lt;/a&gt;';

					echo '&lt;/li&gt;';
				}

				echo '&lt;/ul&gt;';
			}
		}
		else{
			$login_url =  wp_login_url(get_permalink());
			echo '&lt;p&gt;먼저 &lt;a href="'.$login_url.'" title="로그인"&gt;로그인&lt;/a&gt; 해주세요.&lt;/p&gt;';
		}

		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']:'';
		?&gt;
		&lt;p&gt;
			&lt;label for="&lt;?php echo esc_attr($this-&gt;get_field_id('title'))?&gt;"&gt;위젯 제목&lt;/label&gt;
			&lt;input class="widefat" id="&lt;?php echo esc_attr($this-&gt;get_field_id('title'))?&gt;" name="&lt;?php echo esc_attr($this-&gt;get_field_name('title'))?&gt;" type="text" value="&lt;?php echo esc_attr($title)?&gt;"&gt;
		&lt;/p&gt;
		&lt;p&gt;
			&lt;label for="&lt;?php echo esc_attr($this-&gt;get_field_id('limit'))?&gt;"&gt;출력개수&lt;/label&gt;
			&lt;input class="widefat" id="&lt;?php echo esc_attr($this-&gt;get_field_id('limit'))?&gt;" name="&lt;?php echo esc_attr($this-&gt;get_field_name('limit'))?&gt;" type="text" value="&lt;?php echo intval($limit)?&gt;"&gt;
		&lt;/p&gt;
		&lt;p&gt;
			&lt;label for="&lt;?php echo esc_attr($this-&gt;get_field_id('exclude'))?&gt;"&gt;제외할 게시판&lt;/label&gt;
			&lt;input class="widefat" id="&lt;?php echo esc_attr($this-&gt;get_field_id('exclude'))?&gt;" name="&lt;?php echo esc_attr($this-&gt;get_field_name('exclude'))?&gt;" type="text" value="&lt;?php echo esc_attr($exclude)?&gt;" placeholder="예제 1,2,3"&gt;
			&lt;span&gt;콤마(,)로 구분해서 게시판 ID를 입력해주세요.&lt;/span&gt;
		&lt;/p&gt;
		&lt;?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;
	}
}</code></pre>

<p> </p>

<p>위 코드를</p>

<p> </p>

<pre>
<code>//작성자가 쓴 글 코드 시작
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' =&gt; 'test_my_kboard_latest_widget',
			'description' =&gt; '작성한 게시글 목록을 볼 수 있습니다.',
		));
	}

	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 &lt;= 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-&gt;get_results("SELECT `uid` FROM `{$wpdb-&gt;prefix}kboard_board_content` WHERE {$where} ORDER BY `date` DESC LIMIT {$limit}");

			if(!$results){
				echo '&lt;p&gt;작성한 게시글이 없습니다.&lt;/p&gt;';
			}
			else{
				$url = new KBUrl();

				echo '&lt;ul&gt;';

				foreach($results as $row){
					echo '&lt;li&gt;';

          $content_uid = kboard_uid();
          $content = new KBContent();
          $content-&gt;initWithUID($content_uid);

					echo '&lt;a href="'.$url-&gt;getDocumentRedirect($content-&gt;uid).'" title="이동"&gt;'.$content-&gt;title.'&lt;/a&gt;';

					echo '&lt;/li&gt;';
				}

				echo '&lt;/ul&gt;';
			}
		}
		else{
			$login_url =  wp_login_url(get_permalink());
			echo '&lt;p&gt;먼저 &lt;a href="'.$login_url.'" title="로그인"&gt;로그인&lt;/a&gt; 해주세요.&lt;/p&gt;';
		}

		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']:'';
		?&gt;
		&lt;p&gt;
			&lt;label for="&lt;?php echo esc_attr($this-&gt;get_field_id('title'))?&gt;"&gt;위젯 제목&lt;/label&gt;
			&lt;input class="widefat" id="&lt;?php echo esc_attr($this-&gt;get_field_id('title'))?&gt;" name="&lt;?php echo esc_attr($this-&gt;get_field_name('title'))?&gt;" type="text" value="&lt;?php echo esc_attr($title)?&gt;"&gt;
		&lt;/p&gt;
		&lt;p&gt;
			&lt;label for="&lt;?php echo esc_attr($this-&gt;get_field_id('limit'))?&gt;"&gt;출력개수&lt;/label&gt;
			&lt;input class="widefat" id="&lt;?php echo esc_attr($this-&gt;get_field_id('limit'))?&gt;" name="&lt;?php echo esc_attr($this-&gt;get_field_name('limit'))?&gt;" type="text" value="&lt;?php echo intval($limit)?&gt;"&gt;
		&lt;/p&gt;
		&lt;p&gt;
			&lt;label for="&lt;?php echo esc_attr($this-&gt;get_field_id('exclude'))?&gt;"&gt;제외할 게시판&lt;/label&gt;
			&lt;input class="widefat" id="&lt;?php echo esc_attr($this-&gt;get_field_id('exclude'))?&gt;" name="&lt;?php echo esc_attr($this-&gt;get_field_name('exclude'))?&gt;" type="text" value="&lt;?php echo esc_attr($exclude)?&gt;" placeholder="예제 1,2,3"&gt;
			&lt;span&gt;콤마(,)로 구분해서 게시판 ID를 입력해주세요.&lt;/span&gt;
		&lt;/p&gt;
		&lt;?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;
	}
}
//작성자가 쓴 글 코드 끝</code></pre>

<p> </p>

<p> 올려주신 답변으로 이제 이렇게 했습니다.</p>

<p> </p>

<p>이렇게 하면 로그인을 했을 때만 보이고, 열람중인 글 제목 하나만으로 목록이 구성되어 버리더라구요..</p>

<p> </p>

<p>혹시 로그인을 안 했을 때도 볼 수 있고, 작성자의 글 리스트를 뽑아오려면 어떻게 해야 할까요..?</p>

<p> </p>

<p>제가 쌉초보자라.. 늘 이렇게 질문만 드려서 죄송합니다..ㅜㅜ</p>]]></description>
		<copyright>Copyright 2026, 코스모스팜</copyright>
				<item>
			<title><![CDATA[안녕하세요~^^

1:1 게시판이 아닌 공개된 커뮤니티라

최대한 자세한 내용을 올려주시면 보다 더 좋은 ...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/42424</link>
			<description><![CDATA[<p>안녕하세요~^^</p>

<p>1:1 게시판이 아닌 공개된 커뮤니티라</p>

<p>최대한 자세한 내용을 올려주시면 보다 더 좋은 답변을 받으실 수 있으며</p>

<p>실제 저희가 내용을 파악하는 데 시간이 단축됩니다.</p>

<p> </p>

<p>KBoard 위젯을 활용하여 KBoard 게시글 본문 페이지에서</p>

<p>해당 작성자가 작성한 게시글을 표시하고 싶으신 건지요?</p>

<p>KBoard 위젯 플러그인을 사용하시면 더욱 편리하게 위젯을 추가할 수 있으며</p>

<p>코드 수정 시 좀 더 간편하게 수정하실 수 있습니다.</p>

<p> </p>

<p>우선, <a href="https://ko.wordpress.org/plugins/kboard-widget/" target="_blank">KBoard 위젯</a> 플러그인을 설치해보시겠어요?</p>

<p>그다음, 아래의 코드를 추가하시면</p>

<p>KBoard 위젯 설정 쪽에 글쓴이 게시글 체크박스가 표시됩니다.</p>

<pre>
<code class="language-php">add_filter('kboard_widget_tab_list', 'my_kboard_widget_tab_list', 10, 1);
function my_kboard_widget_tab_list($tab_list){
	$tab_list[] = '글쓴이 게시글';
	
	return $tab_list;
}

add_filter('kboard_widget_list_where', 'my_kboard_widget_list_where', 10, 5);
function my_kboard_widget_list_where($where, $value, $limit, $exclude, $with_notice){
	global $wpdb;
	
	$content_uid = kboard_uid();
	
	if($value == '글쓴이 게시글'){
		if($content_uid){
			$content = new KBContent();
			$content-&gt;initWithUID($content_uid);
			$where .= " AND `member_uid`='{$content-&gt;member_uid}'";
		}
		else{
			$where = '0';
		}
	}
	
	return $where;
}</code></pre>

<p>글쓴이 게시글 체크박스를 체크하고 위젯을 추가해보시겠어요?</p>

<p>고맙습니다.</p>]]></description>
			<author>스레드봇</author>
			<pubDate>Tue, 07 Apr 2020 00:23:53 +0000</pubDate>
			<category>KBoard</category>
		</item>
			</channel>
</rss>