<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
	<channel>
				<title><![CDATA[K보드 댓글 목록 출력 숏코드 Pagination 적용 방법]]></title>
		<link>https://www.cosmosfarm.com/threads/rss/document/49566</link>
		<description><![CDATA[<p>운영자님 안녕하세요.</p>

<p>아래와 같이 댓글목록을 출력하는 숏코드를 만들었습니다. 아래 숏코드를 사용하면 아래 링크와 같이 특정 사용자의 댓글 목록이 출력됩니다.</p>

<p>https://www.oppadu.com/user-comments/?target_uid=1</p>

<p>현재 숏코드에는 30개 limit을 걸어서 출력하는데, 이 limit을 해제하고 게시판처럼 pagination을 줘서 불러오면 좋을 듯 한데,</p>

<p>막상 적용하려니 게시판 플러그인의 어느 부분을 참고하면 좋을 지 모르겠습니다.</p>

<p>아래 명령문에 k보드 게시판 형태의 pagination을 어떻게 추가할 수 있는지 알 수 있을까요? ㅜ</p>

<p>기존 게시판 플러그인에서 참고할 부분을 말씀해주시면 연구해서 반영해보겠습니다.</p>

<p>항상 빠르고 정확한 답변 진심으로 감사드립니다.</p>

<pre>
<code>&lt;?php
/***********************************************
 * K보드 사용자 댓글 목록 출력
 **********************************************/
add_shortcode('myuser_kboard_comment', 'myuser_kboard_comment_shortcode');
function myuser_kboard_comment_shortcode($atts) {
	
	extract(shortcode_atts(array(
		'limit'   =&gt; '30',
	), $atts));
	
	global $wpdb;
	
	$user_id = isset($_GET['target_uid']) ? esc_sql($_GET['target_uid']) : ''; 
	$where[] = "`user_uid`='{$user_id}'";
	
	$where = implode(' AND ', $where);
	$results = $wpdb-&gt;get_results("SELECT `uid` FROM `{$wpdb-&gt;prefix}kboard_comments` WHERE {$where} ORDER BY `created` DESC LIMIT {$limit}");
	$output = '' ;
	$output .= '&lt;div id="kboard-default-list"&gt;';

	if(!$results){
		$output .= '&lt;div class="kboard-list"&gt;&lt;p&gt;작성한 댓글이 없습니다.&lt;/p&gt;&lt;/div&gt;';
		$output .= '&lt;/div&gt;';
	}
	else{
		
		$url = new KBUrl();
		$i = count($results);
		
		$output .= '&lt;div class="kboard-list"&gt;&lt;table&gt;';
		$output .= '&lt;thead&gt;&lt;tr&gt;';
		$output .= '&lt;td class="kboard-list-uid"&gt;번호&lt;/td&gt;';		
		$output .= '&lt;td class="kboard-list-title"&gt;댓글&lt;/td&gt;';
		$output .= '&lt;td class="kboard-list-date"&gt;날짜&lt;/td&gt;';
		$output .= '&lt;/tr&gt;&lt;/thead&gt;';
		
		foreach($results as $row){
			$output .= '&lt;tbody&gt;&lt;tr&gt;';
			
			$comment = new KBComment();
			$comment-&gt;initWithUID($row-&gt;uid);
			$document = new KBContent();
			$document-&gt;initWithUID($comment-&gt;content_uid);
			$new = '';
			$selected = '';
			
			if($document-&gt;isNew()) {
				$new = '&lt;span class="kboard-default-new-notify"&gt;New&lt;/span&gt;';
			}
			
			if($comment-&gt;Selected == 1) {
				$selected = '&lt;span class="selected-text"&gt;&lt;i class="fas fa-medal"&gt;&lt;/i&gt; 채택된 답변&lt;/span&gt;';
			}
			
			$output .= '&lt;td class="kboard-list-uid"&gt;' .$i-- . '&lt;/td&gt;';	
			$output .= '&lt;td class="kboard-list-title"&gt;&lt;a href="'.$url-&gt;getDocumentRedirect($comment-&gt;content_uid).'" target="_blank"&gt;';
			$output .= '&lt;div class="kboard-list-content-title"&gt;'. $new . ' ' .$document-&gt;title . ' ' . $selected . '&lt;/div&gt;';
			$output .= $comment-&gt;content;
			$output .= '&lt;/a&gt;&lt;/td&gt;';
			$output .= '&lt;td class="kboard-list-date"&gt;&lt;div class="myuser-comment-item-date"&gt;' . date('Y.m.d', strtotime($comment-&gt;created)) . '&lt;/td&gt;';
			
			$output .= '&lt;/tr&gt;';
		}
		
		$output .= '&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;';
		$output .= '&lt;/div&gt;';
	}
	
	return $output;
}</code></pre>

<p> </p>]]></description>
		<copyright>Copyright 2026, 코스모스팜</copyright>
				<item>
			<title><![CDATA[빠른 답변 감사드립니다.

Paging 확인해서 숏코드 완성했습니다.^^

댓글목록 숏코드가 필요한 다른 분...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/49573</link>
			<description><![CDATA[<p>빠른 답변 감사드립니다.</p>

<p>Paging 확인해서 숏코드 완성했습니다.^^</p>

<p>댓글목록 숏코드가 필요한 다른 분께 도움이 되었으면 좋겠습니다.</p>

<p>감사합니다.</p>

<pre>
<code>&lt;?php
/***********************************************
 * K보드 사용자 댓글 목록 출력
 **********************************************/
add_shortcode('myuser_kboard_comment', 'myuser_kboard_comment_shortcode');
function myuser_kboard_comment_shortcode($atts) {
	
	extract(shortcode_atts(array(
		'limit'   =&gt; '',
	), $atts));
	
	global $wpdb;
	
	$user_id = isset($_GET['target_uid']) ? esc_sql($_GET['target_uid']) : ''; 
	if(isset($_GET['pageid'])){ 
	$page_id = $_GET['pageid']; 
	}else{ 
	$page_id = 1; 
	}
	
	$limit = 20;
	$where[] = "`user_uid`='{$user_id}'";
	$where = implode(' AND ', $where);
	
	$tot_results = $wpdb-&gt;get_results("SELECT `uid` FROM `{$wpdb-&gt;prefix}kboard_comments` WHERE {$where}");
	$row_num = count($tot_results);
	
	$start_num = ($page_id -1) * $limit;
	$results = $wpdb-&gt;get_results("SELECT `uid` FROM `{$wpdb-&gt;prefix}kboard_comments` WHERE {$where} ORDER BY `created` DESC LIMIT {$start_num}, {$limit}");
	
	$output = '' ;
	$output .= '&lt;div id="kboard-default-list"&gt;';

	if(!$results){
		$output .= '&lt;div class="kboard-list"&gt;&lt;p&gt;작성한 댓글이 없습니다.&lt;/p&gt;&lt;/div&gt;';
		$output .= '&lt;/div&gt;';
	}
	else{
		
		$url = new KBUrl();
		$i = $row_num - $start_num;
		
		// 댓글 목록 출력
		$output .= '&lt;div class="kboard-list"&gt;&lt;table&gt;';
		$output .= '&lt;thead&gt;&lt;tr&gt;';
		$output .= '&lt;td class="kboard-list-uid"&gt;번호&lt;/td&gt;';		
		$output .= '&lt;td class="kboard-list-title"&gt;댓글&lt;/td&gt;';
		$output .= '&lt;td class="kboard-list-date"&gt;날짜&lt;/td&gt;';
		$output .= '&lt;/tr&gt;&lt;/thead&gt;';
		
		foreach($results as $row){
			$output .= '&lt;tbody&gt;&lt;tr&gt;';
			
			$comment = new KBComment();
			$comment-&gt;initWithUID($row-&gt;uid);
			$document = new KBContent();
			$document-&gt;initWithUID($comment-&gt;content_uid);
			$new = '';
			$selected = '';
			
			if($document-&gt;isNew()) {
				$new = '&lt;span class="kboard-default-new-notify"&gt;New&lt;/span&gt;';
			}
			
			if($comment-&gt;Selected == 1) {
				$selected = '&lt;span class="selected-text"&gt;&lt;i class="fas fa-medal"&gt;&lt;/i&gt; 채택된 답변&lt;/span&gt;';
			}
			
			$output .= '&lt;td class="kboard-list-uid"&gt;' .$i-- . '&lt;/td&gt;';	
			$output .= '&lt;td class="kboard-list-title"&gt;&lt;a href="'.$url-&gt;getDocumentRedirect($comment-&gt;content_uid).'" target="_blank"&gt;';
			$output .= '&lt;div class="kboard-list-content-title"&gt;'. $new . ' ' .$document-&gt;title . ' ' . $selected . '&lt;/div&gt;';
			$output .= $comment-&gt;content;
			$output .= '&lt;/a&gt;&lt;/td&gt;';
			$output .= '&lt;td class="kboard-list-date"&gt;&lt;div class="myuser-comment-item-date"&gt;' . date('Y.m.d', strtotime($comment-&gt;created)) . '&lt;/td&gt;';
			
			$output .= '&lt;/tr&gt;';
		}
		
		$output .= '&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;';
		
		// 페이징
		$output .= '&lt;div class="kboard-pagination"&gt;';
		$output .= '&lt;ul class="kboard-pagination-pages"&gt;';
		$output .= kboard_pagination($page_id, $row_num, $limit);
		$output .= '&lt;/ul&gt;&lt;/div&gt;';
		
		$output .= '&lt;/div&gt;';
	}
	
	return $output;
}</code></pre>

<p> </p>]]></description>
			<author>오빠두</author>
			<pubDate>Mon, 18 Jan 2021 01:25:25 +0000</pubDate>
			<category>KBoard</category>
		</item>
				<item>
			<title><![CDATA[안녕하세요~^^

KBoard 플러그인에서 페이징은 kboard_pagination 함수를 활용하고 있습니다.

별도로 ...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/49568</link>
			<description><![CDATA[<p>안녕하세요~^^</p>

<p>KBoard 플러그인에서 페이징은 kboard_pagination 함수를 활용하고 있습니다.</p>

<p>별도로 페이징 기능을 추가하시려면 kboard_pagination 함수를 참고해보시겠어요?</p>

<p>해당 함수는</p>

<p>FTP로 접속해서 /wp-content/plugins/kboard/helper/Pagination.helper.php 파일에서 확인해보실 수 있습니다.</p>

<p>구글에 "PHP 페이징" 키워드로 검색해서 다른 자료들도 참고해보세요.</p>

<p>고맙습니다.</p>]]></description>
			<author>스레드봇</author>
			<pubDate>Mon, 18 Jan 2021 00:16:59 +0000</pubDate>
			<category>KBoard</category>
		</item>
			</channel>
</rss>