<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
	<channel>
				<title><![CDATA[워드프레스 ajax 데이터 불러오기]]></title>
		<link>https://www.cosmosfarm.com/threads/rss/document/19647</link>
		<description><![CDATA[<pre>
<code class="language-javascript">jQuery(document).ready(function() {
	jQuery("button").on("click" , function(){
		jQuery.ajax({
			type: "get",
			datatype: "json",
			url: "/wp-content/themes/Avada/test_1.php",
			success: function(data){
				jQuery("#text").append(data);
			}
		});
	});
});</code></pre>

<p>해당 게시판에 ajax를 불러와 추가기능들을 만드려고하는데요,</p>

<p>절대경로 또는 상대경로.php로 url을 지정하니</p>

<p>Direct script access denied.</p>

<p>이런식으로 접속불가 오류가나옵니다.</p>

<p> </p>

<p>워드프레스에서 ajax url을 어떻게지정해야 좋을까요?</p>
]]></description>
		<copyright>Copyright 2026, 코스모스팜</copyright>
				<item>
			<title><![CDATA[안녕하세요~^^

option 쪽에 저장되어 있는 데이터는 테이블이 다르기 때문에 쿼리를 다시 요청해주셔야...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/19696</link>
			<description><![CDATA[<p>안녕하세요~^^</p>

<p>option 쪽에 저장되어 있는 데이터는 테이블이 다르기 때문에 쿼리를 다시 요청해주셔야합니다.</p>

<p>대신 KBContent 클래스를 사용해보시면 좋을 듯합니다.</p>

<pre>
<code class="language-php">add_action('wp_ajax_my_action', 'my_action_callback');
add_action('wp_ajax_nopriv_my_action', 'my_action_callback');
function my_action_callback(){
	global $wpdb;
	$results = $wpdb-&gt;get_results("SELECT * FROM {$wpdb-&gt;prefix}kboard_board_content WHERE board_id = '1'");

	$additional_list = array();
	foreach($results as $row){
		$content = new KBContent();
		$content-&gt;initWithUID($row-&gt;uid);
		$additional_list['title'][] = $content-&gt;title;
		$additional_list['table1'][] = $content-&gt;option-&gt;table1;
		$additional_list['table2'][] = $content-&gt;option-&gt;table2;
		$additional_list['table3'][] = $content-&gt;option-&gt;table3;
		$additional_list['table4'][] = $content-&gt;option-&gt;table4;
		$additional_list['table5'][] = $content-&gt;option-&gt;table5;
		$additional_list['table6'][] = $content-&gt;option-&gt;table6;
		$additional_list['table7'][] = $content-&gt;option-&gt;table7;
		$additional_list['table8'][] = $content-&gt;option-&gt;table8;
		$additional_list['table9'][] = $content-&gt;option-&gt;table9;
		$additional_list['table10'][] = $content-&gt;option-&gt;table10;
	}
	wp_send_json($additional_list);
}</code></pre>

<p>그리고 <a href="https://codex.wordpress.org/Function_Reference/wp_send_json" target="_blank">wp_send_json</a> 함수도 사용해보세요~</p>

<p>고맙습니다.</p>
]]></description>
			<author>스레드봇</author>
			<pubDate>Thu, 01 Feb 2018 12:12:21 +0000</pubDate>
			<category>KBoard</category>
		</item>
				<item>
			<title><![CDATA[
add_action('wp_ajax_my_action', 'my_action_callback');
add_action('wp_ajax_nopriv_my_action', 'm...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/19693</link>
			<description><![CDATA[<pre>
<code>add_action('wp_ajax_my_action', 'my_action_callback');
add_action('wp_ajax_nopriv_my_action', 'my_action_callback');
function my_action_callback(){
	header('content-type: application/json; charset=utf-8');
	global $wpdb;
	$results = $wpdb-&gt;get_results("SELECT * FROM {$wpdb-&gt;prefix}kboard_board_content
	WHERE board_id = '1' 
	");

	$additional_list = array();
	foreach($results as $row){
    $additional_list['title'][] = $row-&gt;title;
	$additional_list['table1'][] = $row-&gt;table1;
	$additional_list['table2'][] = $row-&gt;table2;
	$additional_list['table3'][] = $row-&gt;table3;
	$additional_list['table4'][] = $row-&gt;table4;
	$additional_list['table5'][] = $row-&gt;table5;
	$additional_list['table6'][] = $row-&gt;table6;
	$additional_list['table7'][] = $row-&gt;table7;
	$additional_list['table8'][] = $row-&gt;table8;
	$additional_list['table9'][] = $row-&gt;table9;
	$additional_list['table10'][] = $row-&gt;table10;
}
	echo json_encode($additional_list);
	wp_die();
}</code></pre>

<p>function.php 의 구조를 위와 같이 바꿔봤더니</p>

<p>title까지는 잘 출력이되지만</p>

<p>option에서 추가된애들은 값이 다 null로 출력이 됩니다.</p>

<p> </p>

<p>option값을 불러오지 못하는거 같은데 맞을까요 ^^?</p>

<p> </p>

<p>항상 감사드립니다.</p>
]]></description>
			<author>kboard_developer</author>
			<pubDate>Thu, 01 Feb 2018 09:24:27 +0000</pubDate>
			<category>KBoard</category>
		</item>
				<item>
			<title><![CDATA[
function my_action_callback(){
	header('content-type: application/json; charset=utf-8');
	global...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/19682</link>
			<description><![CDATA[<pre>
<code>function my_action_callback(){
	header('content-type: application/json; charset=utf-8');
	global $wpdb;
	$results = $wpdb-&gt;get_results("SELECT * FROM {$wpdb-&gt;prefix}kboard_board_content
	WHERE board_id = '1' 
	");

	$additional_list = array();
	foreach($results as $row){
		  $test = new KBContent();
		  $test-&gt;initWithUID($row-&gt;uid);
		  $tmp = array(
			  "title" =&gt; $test-&gt;title
			  );
		  $additional_list[] = $tmp;
		  echo json_encode($tmp);
	};</code></pre>

<p>콜백함수를 이런식으로 짠 후에</p>

<p> </p>

<pre>
<code>jQuery(document).ready(function() {
			jQuery("#button_1").on("click" , function(){
				jQuery.get('&lt;?php echo admin_url('admin-ajax.php')?&gt;',{
					'action': 'my_action'
				}, function(data){
					jQuery("button").on("click" ,function(){
						jQuery("#text").append();
					});
				});
			});
		});</code></pre>

<p>이런식으로 불러왔음에도 아무것도 나타나지를 않습니다 어느부분이 잘못된걸까요?</p>

<p> </p>

<pre>
<code>		&lt;button id="button_1"&gt;test&lt;/button&gt;
		&lt;p id="text"&gt;test&lt;/p&gt;</code></pre>

<p>html입니다.</p>

<p> </p>

<pre>
<code>add_action('wp_ajax_my_action', 'my_action_callback');
add_action('wp_ajax_nopriv_my_action', 'my_action_callback');
function my_action_callback(){
	header('content-type: application/json; charset=utf-8');
	global $wpdb;
	$results = $wpdb-&gt;get_results("SELECT * FROM {$wpdb-&gt;prefix}kboard_board_content
	WHERE board_id = '1' 
	");

	$additional_list = array();
	foreach($results as $row){
		  $test = new KBContent();
		  $test-&gt;initWithUID($row-&gt;uid);
		  $tmp = array(
			  "title" =&gt; $test-&gt;title
			  );
		  $additional_list[] = $tmp;
		  echo json_encode($tmp);
	};
	wp_die();
}</code></pre>

<p>function.php에서 ajax관련 추가한 모든 액션입니다.</p>

<p>추가로 현재 문법에서 dataType="json"을 설정하려면 어떻게 해야할까요?</p>

<p>하단에 echo test를 짜주셨던것은 당연히 잘 나왔습니다.</p>

<p>응용하려고 하는데 쉽지않네요 ㅠㅠ</p>

<p>k보드의 발전을 위해서 간단한 질문이외에는 최대한 자제하고있는데.. 워드프레스에 대해 물어본곳이 여기밖에없습니다..</p>

<p>항상 감사드립니다.</p>
]]></description>
			<author>kboard_developer</author>
			<pubDate>Thu, 01 Feb 2018 02:31:36 +0000</pubDate>
			<category>KBoard</category>
		</item>
				<item>
			<title><![CDATA[감사합니다 알려주신대로 해서 echo인 test가 잘 출력이 됩니다.

 

여기서 echo가 아닌 쿼리문과 그에...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/19675</link>
			<description><![CDATA[<p>감사합니다 알려주신대로 해서 echo인 test가 잘 출력이 됩니다.</p>

<p> </p>

<p>여기서 echo가 아닌 쿼리문과 그에맞는 데이터를 불러오려고 한다면 어떻게하면 좋을까요?</p>

<p>쿼리문은 이렇게 넣는것이 맞는거같아 넣어보았습니다.</p>

<pre>
<code>function my_action_callback(){
	global $wpdb;
	$results = $wpdb-&gt;get_results("SELECT * FROM {$wpdb-&gt;prefix}kboard_board_content
	WHERE board_id = '1' 
	");
	
	wp_die();
}</code></pre>

<p>워드프레스 ajax사용설명서를 보니 따로 페이지로 들어가는것같아 테스트해보았으나 안되네요 ㅠㅠ</p>

<pre>
<code>function my_action_callback(){
	header('content-type: application/json; charset=utf-8');
	global $wpdb;
	$results = $wpdb-&gt;get_results("SELECT * FROM {$wpdb-&gt;prefix}kboard_board_content
	WHERE board_id = '1' 
	");

	$whatever = intval( $_page_id['2497'] );
	echo $whatever;

	wp_die();
}</code></pre>

<p>출력을 하고싶어서 php로 페이지에서 출력을 해보았으나 지금 ajax설명서에서 어디에 적용해야 하는지를 못찾겠습니다.</p>

<pre>
<code>&lt;ul&gt;
	&lt;?
	$additional_list = array();
	foreach($results as $row){
		  $test = new KBContent();
		  $test-&gt;initWithUID($row-&gt;uid);
		  $tmp = array(
			  "title" =&gt; $test-&gt;title,
			  "table1" =&gt; $test-&gt;option-&gt;table1
              );
	   $additional_list[] = $tmp;

	   echo json_encode($tmp);
	   ?&gt;
	   &lt;?php }?&gt;
&lt;/ul&gt;</code></pre>

<p>이부분을 어디에다가 넣어야 하단의 페이지처럼 데이터들을 전부 불러올 수 있을까요?</p>

<p><a href="http://winos1.cafe24.com/?page_id=2497">http://winos1.cafe24.com/?page_id=2497</a></p>

<p>이 페이지가 쿼리문에서 데이터를 불러온 상태입니다.</p>
]]></description>
			<author>kboard_developer</author>
			<pubDate>Thu, 01 Feb 2018 01:01:07 +0000</pubDate>
			<category>KBoard</category>
		</item>
				<item>
			<title><![CDATA[안녕하세요~^^

test_1.php 등 파일을 직접 만들게 되면 다양한 문제가 발생될 수 있습니다.

 

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

<p>test_1.php 등 파일을 직접 만들게 되면 다양한 문제가 발생될 수 있습니다.</p>

<p> </p>

<p>1. 예제로 아래 코드를 테마의 functions.php 파일에 추가해보세요.</p>

<pre>
<code class="language-php">add_action('wp_ajax_my_action', 'my_action_callback');
add_action('wp_ajax_nopriv_my_action', 'my_action_callback');
function my_action_callback(){
	echo 'test';
	wp_die();
}</code></pre>

<p> </p>

<p>2. 아래 코드를 KBoard(케이보드)의 스킨 파일에 추가해서 확인해보세요.</p>

<pre>
<code class="language-javascript">jQuery(document).ready(function() {
	jQuery("button").on("click" , function(){
		jQuery.get('&lt;?php echo admin_url('admin-ajax.php')?&gt;',{
			'action': 'my_action'
		}, function(data){
			console.log(data);
		});
	});
});</code></pre>

<p> </p>

<p>3. 크롬 브라우저의 개발자 도구(F12키)의 Console 창의 메시지를 확인해가며 테스트 해보세요.</p>

<p> </p>

<p>자세한 내용은 매뉴얼을 확인해보시는게 좋을 듯합니다.</p>

<p><a href="https://codex.wordpress.org/ko:%ED%94%8C%EB%9F%AC%EA%B7%B8%EC%9D%B8%EC%97%90%EC%84%9C_AJAX_%EA%B5%AC%ED%98%84" target="_blank">https://codex.wordpress.org/ko:플러그인에서_AJAX_구현</a></p>

<p>고맙습니다.</p>
]]></description>
			<author>스레드봇</author>
			<pubDate>Wed, 31 Jan 2018 10:11:36 +0000</pubDate>
			<category>KBoard</category>
		</item>
			</channel>
</rss>