<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
	<channel>
				<title><![CDATA[form으로 WP_Query 하기 오류]]></title>
		<link>https://www.cosmosfarm.com/threads/rss/document/18103</link>
		<description><![CDATA[<p>빈 테마를 만들어서(functions.php와 style.css, index.php 뿐임), index.php 를 만들었습니다.</p>

<p>그리고 index.php 에 아래와 같은 내용을 넣었습니다. form을 만들어서 카테고리 id값을 받아 WP_Query에 넣어서 출력하는 형태입니다. 코드는 아래와 같습니다. 그런데 표시된 부분 <strong>(//&lt;&lt;&lt;)</strong>에서 cat값이 정의되지 않았다고 오류가 계속 나네요.</p>

<p> </p>

<p><strong>Notice</strong>: Undefined index: cat in <strong>C:\Bitnami\wordpress\apps\wordpress\htdocs\wp-content\themes\runenmeal\index.php</strong> on line <strong>13</strong></p>

<p> </p>

<p>form의 action이 문제인것 같다는 생각이 드는데 어떻게 잡아야될 지 모르겠네요. form을 입력 받아 현제 index.php에서 다시 받을거라 action="/"로 했는데, .오류가 뜨네요. action="&lt;?php the_permalink(); ?&gt;" 라고 해도 오류가 납니다.</p>

<p>뭐가 문제일까요..? ㅠ.ㅜ</p>

<p> </p>

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

<p> </p>

<p> </p>

<p>&lt;body &lt;?php body_class(); ?&gt;&gt;</p>

<p>&lt;!-- 필터링 입력란 --&gt;</p>

<p>&lt;?php</p>

<p>if( $_GET['cat'] &amp;&amp; !empty($_GET['cat']) ){       <strong>//&lt;&lt;&lt;</strong></p>

<p>$cat = $_GET['cat'];</p>

<p>}</p>

<p> ?&gt;</p>

<p> </p>

<p>&lt;div class="filter_container"&gt;</p>

<p>&lt;form  action="/" method="get"&gt;</p>

<p>&lt;label&gt;지역&lt;/label&gt;</p>

<p>&lt;select name="cat"&gt;</p>

<p>&lt;option value=""&gt;전체&lt;/option&gt;</p>

<p>&lt;option value="1"&gt;카테고리1&lt;/option&gt;</p>

<p>&lt;option value="2"&gt;카테고리2&lt;/option&gt;</p>

<p>&lt;option value="3"&gt;카테고리3&lt;/option&gt;</p>

<p>&lt;option value="4"&gt;카테고리4&lt;/option&gt;</p>

<p>&lt;/select&gt;</p>

<p>&lt;button type="submit" name=""&gt;필터&lt;/button&gt;</p>

<p>&lt;/form&gt;</p>

<p>&lt;?php</p>

<p>$args = array(</p>

<p>'post_type' =&gt; 'post',</p>

<p>'posts_per_page' =&gt; -1,</p>

<p>'cat' =&gt;  $cat</p>

<p>);</p>

<p> </p>

<p>$query = new WP_Query($args);</p>

<p> </p>

<p>while($query-&gt;have_posts() ) : $query-&gt;the_post();</p>

<p>?&gt;</p>

<p>  &lt;h5&gt;&lt;?php the_title(); ?&gt;  &lt;/h5&gt;</p>

<p> </p>

<p>&lt;?php endwhile; wp_reset_query(); ?&gt;</p>

<p> </p>

<p>&lt;/div&gt;</p>
]]></description>
		<copyright>Copyright 2026, 코스모스팜</copyright>
				<item>
			<title><![CDATA[아 위에 위에 if 구문을 없애고 $cat 부분을 바꿔야 하는거군요. (제가 부족한게 많아서...ㅠ)

이제 정...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/18124</link>
			<description><![CDATA[<p>아 위에 위에 if 구문을 없애고 $cat 부분을 바꿔야 하는거군요. (제가 부족한게 많아서...ㅠ)</p>

<p>이제 정상적으로 작동하네요.</p>

<p>선생님! 감사합니다!!</p>
]]></description>
			<author>yeong</author>
			<pubDate>Tue, 12 Dec 2017 03:02:58 +0000</pubDate>
			<category>워드프레스</category>
		</item>
				<item>
			<title><![CDATA[에러가 발생되는 아래 코드 지우고


&amp;lt;?php
if($_GET['cat'] &amp;amp;&amp;amp; !empty($_GET['...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/18123</link>
			<description><![CDATA[<p>에러가 발생되는 아래 코드 지우고</p>

<pre>
<code class="language-html">&lt;?php
if($_GET['cat'] &amp;&amp; !empty($_GET['cat'])){
	$cat = $_GET['cat'];
}
?&gt;</code></pre>

<p>아래 코드로 적용해보신거죠?</p>

<pre>
<code class="language-html">&lt;?php
$cat = isset($_GET['cat']) ? sanitize_text_field($_GET['cat']) : '';
?&gt;</code></pre>

<p> </p>

<p>로컬이나 웹호스팅이나 상관없습니다.</p>

<p>주소창에 cat 부분이 있는지요?</p>
]]></description>
			<author>스레드봇</author>
			<pubDate>Tue, 12 Dec 2017 02:35:30 +0000</pubDate>
			<category>워드프레스</category>
		</item>
				<item>
			<title><![CDATA[답변 감사합니다.

$cat 값을 수정했는데도 똑같이 오류가 나네요.

혹시나 해서, index.php 가 아닌, p...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/18122</link>
			<description><![CDATA[<p>답변 감사합니다.</p>

<p>$cat 값을 수정했는데도 똑같이 오류가 나네요.</p>

<p>혹시나 해서, index.php 가 아닌, page-"해당페이지아이디".php 로 코드를 옮긴 후</p>

<pre>
<code class="language-html">&lt;form  action="&lt;?php the_permalink(); ?&gt;" method="get"&gt;</code></pre>

<p>위와 같이 action을 바꾼 뒤, 해보니 똑같이 오류가 생기네요. 다만, 이때, for select로 cat 값을 선택해서 값을 전달해주니, 오류가 사라지네요. 하지만 처음 해당 페이지에 들어가면 cat값 전달이 안되어 오류가 생기는 것 같은데..</p>

<p>적어주신 코드를 보면, cat 값이 없으면 ' ' 설정이 되어 있는데도 그러네요. 혹시나해서 ' ' 이 아닌 '1' 등의 값을 해도 똑같은 오류가 생기네요.</p>

<pre>
<code class="language-php">$cat = isset($_GET['cat']) ? sanitize_text_field($_GET['cat']) : '';</code></pre>

<p>이게 로컬에서 테스트를 하는 거라 이런 오류가 생기나 싶어서, 웹호스팅 된 계정을 통해 해당 내용을 테스트 하니 오류가 뜨지 않네요. form action 부분은 로컬에서 하면 안되는 건가요? ...ㅠ</p>

<p>(수정) 아 아니네요. wp_config 에 define('WP_DEBUG', false); 로 해놔서 그렇네요.ㅠ. 똑같이 오류가 생기는군요..ㅠ</p>
]]></description>
			<author>yeong</author>
			<pubDate>Tue, 12 Dec 2017 02:26:57 +0000</pubDate>
			<category>워드프레스</category>
		</item>
				<item>
			<title><![CDATA[안녕하세요~^^

코드를 입력하실 땐 그냥 텍스트로 입력하지 마시고 에디터 기능 중 '코드 스니펫 삽입'...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/18108</link>
			<description><![CDATA[<p>안녕하세요~^^</p>

<p>코드를 입력하실 땐 그냥 텍스트로 입력하지 마시고 에디터 기능 중 '<strong>코드 스니펫 삽입</strong>' 기능으로 입력해주세요.</p>

<p>올려주신 코드가 어땐 내용인지 알아보기가 쉽지가 않기 때문입니다 ㅎㅎ</p>

<p>$cat 변수를 받는쪽을 아래처럼 바꿔보시겠어요?</p>

<pre>
<code class="language-php">$cat = isset($_GET['cat']) ? sanitize_text_field($_GET['cat']) : '';</code></pre>

<p>고맙습니다.</p>
]]></description>
			<author>스레드봇</author>
			<pubDate>Mon, 11 Dec 2017 14:55:18 +0000</pubDate>
			<category>워드프레스</category>
		</item>
			</channel>
</rss>