<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
	<channel>
				<title><![CDATA[(완료) 컨택트 스킨에서 '우편번호와 주소 검색 및 입력' 필드 설정방법?]]></title>
		<link>https://www.cosmosfarm.com/threads/rss/document/34299</link>
		<description><![CDATA[<p>스레드봇님, 안녕하세요?</p>

<p>컨택트 스킨을 이용해서 우편번호와 주소를 검색하고 입력' 하는 필드를 추가하려고 합니다.</p>

<p>커뮤니티에서 찾아보니 아래의 글이 해당 기능과 관련된 최종 자료인 듯해서 참조 했습니다.</p>

<p><a href="https://blog.cosmosfarm.com/archives/214/kboard-%EC%BC%80%EC%9D%B4%EB%B3%B4%EB%93%9C-%EA%B2%8C%EC%8B%9C%ED%8C%90%EC%97%90-%EC%83%88%EB%A1%9C%EC%9A%B4-%ED%95%84%EB%93%9C-%EC%B6%94%EA%B0%80%ED%95%98%EA%B8%B0/">https://blog.cosmosfarm.com/archives/214/kboard-%ec%bc%80%ec%9d%b4%eb%b3%b4%eb%93%9c-%ea%b2%8c%ec%8b%9c%ed%8c%90%ec%97%90-%ec%83%88%eb%a1%9c%ec%9a%b4-%ed%95%84%eb%93%9c-%ec%b6%94%ea%b0%80%ed%95%98%ea%b8%b0/</a></p>

<p> </p>

<p>상기 글에서 설명한대로 3개의 필터를 차일드 테마의 functions.php 에 그대로 추가했습니다.</p>

<p>그리고나서 해당 사이트를 들어가니 아래와 같은 에러 메세지가 나옵니다.</p>

<p>(에러메세지)</p>

<p>The site is experiencing technical difficulties.</p>

<p> </p>

<p>그전에 문자알림과 개인정보 제공 및 동의와 같은 코드도 함께 있어서 생기는 문제인지</p>

<p>해결 방법을 찾고 싶습니다.</p>

<p> </p>

<p>아래에 functions.phhp에 추가한 해당 코드 전체를 보여드립니다.</p>

<p>/* 개인정보 활용 동의 */<br />
add_filter('kboard_skin_fields', 'my_kboard_skin_fields', 10, 2);<br />
function my_kboard_skin_fields($fields, $board){<br />
    if($board-&gt;id == '1'){ // 실제 적용될 게시판 ID 값으로 변경해주세요.<br />
/*     if(in_array($board-&gt;id, array('1','2','3','4','5','6','7'))){        // 게시판이 여러 개일 경우...        */<br />
        if(!isset($fields['agree_checkbox'])){<br />
            $fields['agree_checkbox'] = array(<br />
                'field_type' =&gt; 'agree_checkbox',<br />
                'field_label' =&gt; '개인정보 제공 및 활용 동의서',<br />
                'class' =&gt; 'kboard-attr-checkbox',<br />
                'hidden' =&gt; '',<br />
                'meta_key' =&gt; '',<br />
                'field_name' =&gt; '',<br />
                'permission' =&gt; '',<br />
                'roles' =&gt; '',<br />
                'default_value' =&gt; '',<br />
                'placeholder' =&gt; '',<br />
                'required' =&gt; '',<br />
                'show_document' =&gt; '',<br />
                'description' =&gt; '',<br />
                'close_button' =&gt; 'yes'<br />
            );<br />
        }<br />
    }<br />
    <br />
    return $fields;<br />
}</p>

<p>/* 동의서 양식  */<br />
add_filter('kboard_get_template_field_html', 'my_kboard_get_template_field_html', 10, 4);<br />
function my_kboard_get_template_field_html($field_html, $field, $content, $board){<br />
    if($field['field_type'] == 'agree_checkbox'){<br />
        ob_start();<br />
        ?&gt;<br />
        &lt;div class="kboard-attr-row meta-key-&lt;?php echo esc_attr($field['meta_key'])?&gt; required"&gt;<br />
            &lt;label class="attr-name agree-title" for="agree_checkbox"&gt;<br />
                &lt;p class="field-name"&gt;&lt;?php echo esc_html($field['field_name'] ? $field['field_name'] : $field['field_label'])?&gt;&lt;/p&gt;<br />
            &lt;/label&gt;<br />
            &lt;div class="attr-value agree-content" style="margin:0;"&gt;<br />
                &lt;div class="privacy-announce" style="margin: 0; padding: 8px 20px 0px 10px; height: auto; line-height: 20px; background-color: #f2f2f2; overflow-y: auto;"&gt;<br />
                    &lt;ol&gt;<br />
                        &lt;li&gt;&lt;strong&gt;수집 목적&lt;/strong&gt; : 회원가입 및 서비스 신청 등과 관련된 상담안내&lt;/li&gt;<br />
                        &lt;li&gt;&lt;strong&gt;수집 항목&lt;/strong&gt; : 이름 ,전화번호, IP (자동수집)&lt;/li&gt;<br />
                        &lt;li&gt;&lt;strong&gt;보유 및 이용기간&lt;/strong&gt; : 상담 및 해당 업무 종료 후 1년 이내 파기&lt;/li&gt;<br />
                    &lt;/ol&gt;<br />
                    &lt;p style="font-size: 14px; padding-left: 20px; padding-bottom: 12px; line-height: 20px; color: #1d9dee;"&gt;※ 개인정보 수집 및 이용에 대해서 거부할 수 있으며, 거부 시에는 가입 및 상담 등의 안내 서비스를 받으실 수 없습니다.&lt;/p&gt;<br />
                &lt;/div&gt;<br />
                &lt;div style="text-align:center;"&gt;<br />
                    &lt;input type="hidden" class="required" name="kboard_option_&lt;?php echo esc_attr($field['meta_key'])?&gt;" value="1"&gt;<br />
                    &lt;label&gt;&lt;input type="checkbox" class="required" name="kboard_option_&lt;?php echo esc_attr($field['meta_key'])?&gt;" value="1"&gt; 개인정보이용 동의&lt;/label&gt;<br />
                &lt;/div&gt;<br />
            &lt;/div&gt;<br />
        &lt;/div&gt;<br />
        &lt;?php<br />
        $field_html = ob_get_clean();<br />
    }<br />
    return $field_html;<br />
}</p>

<p>/* 휴대폰에 문자 발송하는 기능 */</p>

<p>add_action('kboard_document_insert', 'my_kboard_document_insert', 10, 4);<br />
function my_kboard_document_insert($content_uid, $board_id, $content, $board){<br />
    if($board_id == '1'){ <br />
        $phone = '010-0000-0000';        // 전화번호는 실제 전화번호로 입력함.<br />
        $phone2 = '010-0000-0000';        // 전화번호는 실제 전화번호로 입력함.<br />
        $message = "제목 : {$content-&gt;title}\n";<br />
        $message .= "신청자 : {$content-&gt;member_display}\n";<br />
        $message .= "연락처 : {$content-&gt;option-&gt;{'contact_phone'}}\n";<br />
        $message .= "전달사항 : {$content-&gt;content}\n";<br />
        cosmosfarm_members_sms_send($phone, $message);<br />
        cosmosfarm_members_sms_send($phone2, $message);<br />
    }<br />
}</p>

<p><br />
/* 우편번호- 입력필드 설정에 표시됨 */</p>

<p><br />
add_filter('kboard_skin_fields', 'my_kboard_skin_fields', 10, 2);<br />
function my_kboard_skin_fields($fields, $board){<br />
    <br />
    if($board-&gt;id == '1'){ // 실제 적용될 게시판 ID 값으로 변경해주세요.<br />
        <br />
        if(!isset($fields['address'])){<br />
            $fields['address'] = array(<br />
                'field_type' =&gt; 'address',<br />
                'field_label' =&gt; '주소',<br />
                'class' =&gt; 'kboard-attr-text',<br />
                'hidden' =&gt; '',<br />
                'meta_key' =&gt; '',<br />
                'field_name' =&gt; '',<br />
                'permission' =&gt; '',<br />
                'roles' =&gt; '',<br />
                'default_value' =&gt; '',<br />
                'placeholder' =&gt; '',<br />
                'required' =&gt; '',<br />
                'show_document' =&gt; '',<br />
                'description' =&gt; '',<br />
                'close_button' =&gt; 'yes'<br />
            );<br />
        }<br />
    }<br />
    <br />
    return $fields;<br />
}</p>

<p>/* 게시글 작성시 보여지는 필드의 HTML 코드를 출력 */</p>

<p>add_filter('kboard_get_template_field_html', 'my_kboard_get_template_field_html', 10, 4);<br />
function my_kboard_get_template_field_html($field_html, $field, $content, $board){<br />
    <br />
    if($field['field_type'] == 'address'){<br />
        <br />
        // 페이지에 Daum 우편번호 서비스 자바스크립트 라이브러리를 추가합니다.<br />
        wp_enqueue_script('daum-postcode', 'https://spi.maps.daum.net/imap/map_js_init/postcode.v2.js', array(), '', true);<br />
        <br />
        ob_start();<br />
        ?&gt;<br />
        &lt;div class="kboard-attr-row"&gt;<br />
            &lt;label class="attr-name" for="kboard_option_postcode"&gt;우편번호/주소&lt;/label&gt;<br />
            &lt;div class="attr-value"&gt;<br />
                &lt;input type="text" id="kboard_option_postcode" name="kboard_option_postcode" value="&lt;?php echo $content-&gt;option-&gt;postcode?&gt;" placeholder="우편번호..." style="width:100px"&gt;<br />
                &lt;input type="text" id="kboard_option_address" name="kboard_option_address" value="&lt;?php echo $content-&gt;option-&gt;address?&gt;" placeholder="주소..."&gt;<br />
                &lt;button type="button" class="kboard-default-button-small" onclick="kboard_postcode_address_search()"&gt;우편번호/주소 검색&lt;/button&gt;<br />
            &lt;/div&gt;<br />
        &lt;/div&gt;<br />
        &lt;script&gt;<br />
        function kboard_postcode_address_search(){<br />
            var width = 500;<br />
            var height = 600;<br />
            new daum.Postcode({<br />
                width: width,<br />
                height: height,<br />
                oncomplete: function(data){<br />
                    jQuery('#kboard_option_postcode').val(data.zonecode);<br />
                    jQuery('#kboard_option_address').val(data.roadAddress);<br />
                    <br />
                    setTimeout(function(){<br />
                        jQuery('#kboard_option_address').focus();<br />
                    });<br />
                }<br />
            }).open({<br />
                left: (screen.availWidth-width)*0.5,<br />
                top: (screen.availHeight-height)*0.5<br />
            });<br />
        }<br />
        &lt;/script&gt;<br />
        &lt;?php<br />
        $field_html = ob_get_clean();<br />
    }<br />
    <br />
    return $field_html;<br />
}</p>

<p><br />
/* 게시글 본문에 입력된 필드의 값을 출력 */<br />
add_filter('kboard_document_add_option_value_field_html', 'my_kboard_document_add_option_value_field_html', 10, 4);<br />
function my_kboard_document_add_option_value_field_html($value_html, $field, $content, $board){<br />
    <br />
    if($field['field_type'] == 'address'){<br />
        $value_html = sprintf('&lt;div class="kboard-document-add-option-value meta-key-%s"&gt;&lt;span class="option-name"&gt;%s&lt;/span&gt; : %s&lt;/div&gt;&lt;hr&gt;', $field['field_type'], $field['field_name'], "({$content-&gt;option-&gt;postcode}) {$content-&gt;option-&gt;address}");<br />
    }<br />
    <br />
    return $value_html;<br />
}</p>

<p> </p>

<p>위 내용의 검토를 부탁드리겠습니다^^;;;</p>

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

<p> </p>]]></description>
		<copyright>Copyright 2026, 코스모스팜</copyright>
				<item>
			<title><![CDATA[스레드봇님, 답변 주신대로 처리해서 해결되었습니다^^
감사합니다!!!

 ]]></title>
			<link>https://www.cosmosfarm.com/threads/document/34318</link>
			<description><![CDATA[<p>스레드봇님, 답변 주신대로 처리해서 해결되었습니다^^<br />
감사합니다!!!</p>

<p> </p>]]></description>
			<author>아담슨</author>
			<pubDate>Tue, 25 Jun 2019 09:40:51 +0000</pubDate>
			<category>KBoard</category>
		</item>
				<item>
			<title><![CDATA[안녕하세요~^^

올려주신 코드를 확인해보니 PHP 함수명 중복 문제로 보입니다.

워드프레스에서 액션이...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/34306</link>
			<description><![CDATA[<p>안녕하세요~^^</p>

<p>올려주신 코드를 확인해보니 PHP 함수명 중복 문제로 보입니다.</p>

<p>워드프레스에서 액션이나 필터는 중복해서 사용할 수 있지만</p>

<p>PHP 함수명은 중복되면 동작하지 않습니다.</p>

<p> </p>

<p>기존에 있던 코드와 새로운 코드가 충돌이 나는 듯합니다.</p>

<p> </p>

<p>올려주신 코드 중 아래의 코드를</p>

<pre>
<code class="language-php">/* 우편번호- 입력필드 설정에 표시됨 */


add_filter('kboard_skin_fields', 'my_kboard_skin_fields', 10, 2);
function my_kboard_skin_fields($fields, $board){</code></pre>

<p>아래의 코드로 교체해보시겠어요?</p>

<pre>
<code class="language-php">/* 우편번호- 입력필드 설정에 표시됨 */


add_filter('kboard_skin_fields', 'my_kboard_skin_fields1', 10, 2);
function my_kboard_skin_fields1($fields, $board){</code></pre>

<p> </p>

<p>아래의 코드를</p>

<pre>
<code class="language-php">/* 게시글 작성시 보여지는 필드의 HTML 코드를 출력 */

add_filter('kboard_get_template_field_html', 'my_kboard_get_template_field_html', 10, 4);
function my_kboard_get_template_field_html($field_html, $field, $content, $board){</code></pre>

<p>아래의 코드로 교체해보세요.</p>

<pre>
<code class="language-php">/* 게시글 작성시 보여지는 필드의 HTML 코드를 출력 */

add_filter('kboard_get_template_field_html', 'my_kboard_get_template_field_html1', 10, 4);
function my_kboard_get_template_field_html1($field_html, $field, $content, $board){</code></pre>

<p>고맙습니다.</p>]]></description>
			<author>스레드봇</author>
			<pubDate>Tue, 25 Jun 2019 08:37:27 +0000</pubDate>
			<category>KBoard</category>
		</item>
			</channel>
</rss>