<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
	<channel>
				<title><![CDATA[RSS 게시판을 만들거나 RSS를 불러와서 포스트로 전환 후 게시판으로 import하는 것 여쭙니다.]]></title>
		<link>https://www.cosmosfarm.com/threads/rss/document/27526</link>
		<description><![CDATA[<p>타 사이트에서 rss를 받아와서 게시판 형태로 뿌려줘야되거든요.<br />
<br />
개발하려는 사이트 내에서 k보드 게시판을 사용할 것이라서 rss불러오는 게시판도 k보드로 개발하고 싶습니다.</p>

<p>다른 질문 글에서도 아직 rss를 불러올 수 있는 기능 같은게 없다고 안내하시더라구요.<br />
<strong>rss를 불러오는 게시판을 개발할 수 있는 방법</strong>이 어떻게 되는지 궁금합니다.<br />
<br />
힘들다면 글로 불러와서 글을 게시글로 작성하는 방법도 생각하고 있는데요.<br />
타 사이트 글을 찾아보니 <strong>DB에서 wp_posts 테이블과 KBoard 테이블을 비교하여 워드프레스 글을 복사하는 방법</strong>이 있다고 하여 이부분에 대해서도 방법을 여쭙니다.<br />
<br />
숙련된 개발자가 아니라서 (k보드 입력필드 추가하는 정도입니다.)<br />
<strong>k보드에서 유료지원을 받게 되면 금액이 얼마나 될까요?</strong></p>

<p>또 추가로 개별 작성되는 <strong>게시글들에 이메일 주소를 입력하여 전송을 할 수 있는 기능</strong>도 만들고 싶습니다.</p>

<p>감사합니다 ^^</p>]]></description>
		<copyright>Copyright 2026, 코스모스팜</copyright>
				<item>
			<title><![CDATA[안녕하세요~^^

말씀하신 부분 다 가능합니다.

1. RSS를 불러와서 KBoard 게시글로 작성하시려면

특정...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/27529</link>
			<description><![CDATA[<p>안녕하세요~^^</p>

<p>말씀하신 부분 다 가능합니다.</p>

<p>1. RSS를 불러와서 KBoard 게시글로 작성하시려면</p>

<p>특정 시간 간격으로 코드를 주기적으로 실행주어야 합니다.</p>

<p>워드프레스 크론(Wordpress Cron)을 이용해서 간단한 플러그인을 만들어봤습니다.</p>

<p>FTP로 접속해서 /wp-content/plugins 폴더에 test.php 등의 파일을 만들어서 내용을 그대로 붙여넣기 해주세요.</p>

<p>그리고 워드프레스 관리자 페이지에서 해당 플러그인을 활성화 해주세요.</p>

<pre>
<code class="language-php">&lt;?php
/*
Plugin Name: 테스트 플러그인
Plugin URI: https://www.cosmosfarm.com/
Description: 테스트 플러그인 입니다.
Version: 1.0.0
Author: 코스모스팜 - Cosmosfarm
Author URI: https://www.cosmosfarm.com/
*/

if(!defined('ABSPATH')) exit;

register_activation_hook(__FILE__, 'my_activation');
function my_activation(){
    if (! wp_next_scheduled('my_hourly_event')){
		wp_schedule_event(time(), 'my_event', 'my_hourly_event');
    }
}

add_filter('cron_schedules', 'my_add_weekly');
function my_add_weekly($schedules){
	$schedules['my_event'] = array(
		'interval' =&gt; 600, // 초 단위 600은 10분
		'display' =&gt; 'test'
	);
	return $schedules;
}

add_action('my_hourly_event', 'do_this_hourly');
function do_this_hourly(){
	global $wpdb;
	$board_id = '게시판 id';
	
	$url = "RSS 주소";
	$curl = curl_init($url);
	curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
	$data = curl_exec($curl);
	
	$xml = simplexml_load_string($data);
	
	foreach($xml-&gt;channel-&gt;item as $item){
		$link = esc_sql($item-&gt;link);
		
		$select = "`{$wpdb-&gt;prefix}kboard_board_content`.`uid`";
		$from = "`{$wpdb-&gt;prefix}kboard_board_content` LEFT JOIN `{$wpdb-&gt;prefix}kboard_board_option` ON `{$wpdb-&gt;prefix}kboard_board_content`.`uid`=`{$wpdb-&gt;prefix}kboard_board_option`.`content_uid`";
		$where = "`board_id`='{$board_id}' AND `parent_uid`='0' AND `notice`='' AND (`status`='' OR `status` IS NULL OR `status`='pending_approval') AND `{$wpdb-&gt;prefix}kboard_board_option`.`option_key`='link' AND `{$wpdb-&gt;prefix}kboard_board_option`.`option_value`='{$link}'";
		$result = $wpdb-&gt;get_var("SELECT {$select} FROM {$from} WHERE {$where}");
		
		if(count($result) &lt; 1){
			$content = new KBContent($board_id);
			$content_title = kboard_safeiframe(kboard_xssfilter($item-&gt;title));
			$content_content = kboard_safeiframe(kboard_xssfilter($item-&gt;description));
			
			$data = array();
			$data['board_id'] = $board_id;
			$data['member_uid'] = '1';
			$data['member_display'] = '관리자';
			$data['title'] = $content_title;
			$data['content'] = $content_content;
			$data['date'] = date('YmdHis', current_time('timestamp'));
			
			$_POST['kboard_option_link'] = $item-&gt;link;
			
			$content_uid = $content-&gt;insertContent($data);
			$content-&gt;updateOptions();
		}
	}
}

register_deactivation_hook(__FILE__, 'my_deactivation');
function my_deactivation(){
	wp_clear_scheduled_hook('my_hourly_event');
}</code></pre>

<p>위의 코드에서 게시판 id와 RSS 주소 부분은 실제 id 및 주소로 적용해보세요.</p>

<p> </p>

<p>2. 워드프레스 글(Post) 작성 시 KBoard 게시판에도 글을 작성하시려면</p>

<p>워드프레스 관리자 -&gt; 외모 -&gt; 테마 편집기 페이지에서 functions.php 파일 하단에</p>

<p>아래의 코드를 추가해보시겠어요?</p>

<pre>
<code class="language-php">add_action('transition_post_status', 'my_transition_post_status', 10, 3);
function my_transition_post_status($new_status, $old_status, $post){
	if($post-&gt;post_type == 'post' &amp;&amp; $new_status == 'publish'){
		$board_id = '1';
		$content = new KBContent($board_id);
		$user = get_userdata($post-&gt;post_author);
		
		$data = array();
		$data['board_id'] = $board_id;
		$data['member_uid'] = $post-&gt;post_author;
		$data['member_display'] = $user-&gt;display_name;
		$data['title'] = $post-&gt;post_title;
		$data['content'] = $post-&gt;post_content;
		$data['date'] = date('YmdHis', current_time('timestamp'));
		
		if($old_status != 'publish'){
			$content_uid = $content-&gt;insertContent($data);
			add_post_meta($post-&gt;ID, 'kboard_content_uid', $content_uid);
		}
		else{
			$content_uid = get_post_meta($post-&gt;ID, 'kboard_content_uid', true);
			$content-&gt;initWithUID($content_uid);
			$content-&gt;updateContent($data);
		}
	}
}</code></pre>

<p>위의 코드에서 $borad_id = '1' 부분은 실제 게시판 id로 적용해주시면 됩니다.</p>

<p> </p>

<p>3. 현재 최신 버전 KBoard 플러그인의 기본 스킨(avatar, contact-form, default, thumbnail)에서</p>

<p>입력 필드를 관리자 페이지에서 설정하실 수 있습니다.</p>

<p>워드프레스 관리자 -&gt; KBoard -&gt; 게시판 목록 -&gt; 게시판 선택 -&gt; 입력필드 설정 페이지를 확인해보시겠어요?</p>

<p>입력 필드 설정을 지원하지 않는 스킨에서 입력 필드 추가 방법은</p>

<p>아래의 링크를 참고해보세요.</p>

<p><a href="http://blog.naver.com/PostView.nhn?blogId=chan2rrj&amp;logNo=221216931199" target="_blank">워드프레스 게시판 KBoard(케이보드) 새로운 입력 필드 추가 방법 (커스터마이징)</a></p>

<p> </p>

<p>입력 필드를 설정하셨다면, 게시글 작성 시 메일을 보내는 코드를 추가해주셔야 합니다.</p>

<p>워드프레스 관리자 -&gt; 외모 -&gt; 테마 편집기 페이지에서 functions.php 파일 하단에</p>

<p>아래의 코드를 추가해보시겠어요?</p>

<pre>
<code class="language-php">add_action('kboard_document_insert', 'my_kboard_document_insert', 10, 4);
function my_kboard_document_insert($content_uid, $board_id, $content,	$board){
	$to = $content-&gt;option-&gt;email;
	$title = $content-&gt;title;
	$content = $content-&gt;content;
	wp_mail($to, $title, $content);
}</code></pre>

<p>wp_mail에 대한 자세한 내용은 아래의 링크를 참고해보시겠어요?</p>

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

<p> </p>

<p>유료 기술 지원 문의는 커뮤니티 쪽에서 답변을 드리기 어렵습니다.</p>

<p>저희 <a href="https://www.cosmosfarm.com/support" target="_blank">고객지원</a> 쪽 이메일로 연락 주시면 확인 후 순차적으로 회신드리고 있습니다.</p>

<p>고맙습니다.</p>]]></description>
			<author>스레드봇</author>
			<pubDate>Tue, 13 Nov 2018 06:43:40 +0000</pubDate>
			<category>KBoard</category>
		</item>
			</channel>
</rss>