contact form 개인정보이용약관 관련 문의입니다.

contact form 개인정보이용약관을 추가하려고하는데 3가지 언어로 따로따로 넣을 수 있을까요? ( 다국어 홈페이지여서 영어, 러시아어가 따로따로 들어가야 합니다.)

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 안녕하세요~^^

    올려주신 내용만으로는 어떻게 하고 싶으신 건지 이해가 잘 가지 않습니다.

    좀 더 구체적인 내용을 설명해주시겠어요?

    고맙습니다.

  • 본문에 코드를 올려야 할 경우 반드시 에디터의 코드 스니펫 삽입 기능을 사용해주세요. (가독성이 좋아집니다.)

    그렇지 않으면 에러가 나는 코드로 바뀌거나 질의응답 시 의사소통에 문제가 있을 수도 있습니다.

     

    올려주신 코드 중 아래의 코드를 찾아서

    /*개인정보이용약관2*/
    add_filter('kboard_skin_fields', 'my_kboard_skin_fields2', 10, 2);
    function my_kboard_skin_fields2($fields, $board){
        
        if($board->id == '2'){ // 실제 적용될 게시판 ID 값으로 변경해주세요.
            
            if(!isset($fields['agree_checkbox2'])){
                $fields['agree_checkbox'] = array(
                    'field_type' => 'agree_checkbox',
                    'field_label' => '개인정보 제공 및 활용 동의',
                    'class' => 'kboard-attr-checkbox',
                    'hidden' => '',
                    'meta_key' => '',
                    'field_name' => '',
                    'permission' => '',
                    'roles' => '',
                    'default_value' => '',
                    'placeholder' => '',
                    'required' => '',
                    'show_document' => '',
                    'description' => '',
                    'close_button' => 'yes'
                );
            }
        }
        
        return $fields;
    }

    아래의 코드로 교체해보시겠어요?

    /*개인정보이용약관2*/
    add_filter('kboard_skin_fields', 'my_kboard_skin_fields2', 10, 2);
    function my_kboard_skin_fields2($fields, $board){
        
        if($board->id == '2'){ // 실제 적용될 게시판 ID 값으로 변경해주세요.
            
            if(!isset($fields['agree_checkbox2'])){
                $fields['agree_checkbox2'] = array(
                    'field_type' => 'agree_checkbox2',
                    'field_label' => '개인정보 제공 및 활용 동의',
                    'class' => 'kboard-attr-checkbox',
                    'hidden' => '',
                    'meta_key' => '',
                    'field_name' => '',
                    'permission' => '',
                    'roles' => '',
                    'default_value' => '',
                    'placeholder' => '',
                    'required' => '',
                    'show_document' => '',
                    'description' => '',
                    'close_button' => 'yes'
                );
            }
        }
        
        return $fields;
    }

    고맙습니다.

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

    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){
        
        if($field['field_type'] == 'agree_checkbox'){
            ob_start();
            ?>
            <div class="kboard-attr-row meta-key-<?php echo esc_attr($field['meta_key'])?> required">
                <label class="attr-name" for="agree_checkbox" style="display:none">
                    <span class="field-name"><?php echo esc_html($field['field_name'] ? $field['field_name'] : $field['field_label'])?></span>
                </label>
                <div class="attr-value" style="margin:0;">
                    <div style="margin: 20px 0; padding: 10px; height: 100px; background-color: #f2f2f2; overflow-y: auto;">
                        <p>1. 수집항목: 이메일, 비밀번호, 문의내용 및 기타 고객이 직접 입력한 내용</p>
                        <p>2. 수집목적: 고객문의 ,접수, 처리결과 안내 등</p>
                        <p>3. 보유 및 이용기간: 상담 문의 접수 시점 및 상담 완료 후 6개월이며, 세부사항은 ‘개인정보처리방침’을 확인<br>
    (단, 관련 법령에 의거 보존할 필요성이 있는 경우에는 관련 법령에 따라 보존 가능)</p>
                   
                    </div>
                    <div style="text-align:center;">
                        <input type="hidden" class="required" name="kboard_option_<?php echo esc_attr($field['meta_key'])?>" value="1">
                        <label><input type="checkbox" class="required" name="kboard_option_<?php echo esc_attr($field['meta_key'])?>" value="1"> 개인정보 제공 및 활용에 동의합니다.</label>
                    </div>
                </div>
            </div>
            <?php
            $field_html = ob_get_clean();
        }
        
        return $field_html;
    }

    /*개인정보이용약관2*/
    add_filter('kboard_skin_fields', 'my_kboard_skin_fields2', 10, 2);
    function my_kboard_skin_fields2($fields, $board){
        
        if($board->id == '2'){ // 실제 적용될 게시판 ID 값으로 변경해주세요.
            
            if(!isset($fields['agree_checkbox2'])){
                $fields['agree_checkbox'] = array(
                    'field_type' => 'agree_checkbox',
                    'field_label' => '개인정보 제공 및 활용 동의',
                    'class' => 'kboard-attr-checkbox',
                    'hidden' => '',
                    'meta_key' => '',
                    'field_name' => '',
                    'permission' => '',
                    'roles' => '',
                    'default_value' => '',
                    'placeholder' => '',
                    'required' => '',
                    'show_document' => '',
                    'description' => '',
                    'close_button' => 'yes'
                );
            }
        }
        
        return $fields;
    }

    add_filter('kboard_get_template_field_html', 'my_kboard_get_template_field_html2', 10, 4);
    function my_kboard_get_template_field_html2($field_html, $field, $content, $board){
        
        if($field['field_type'] == 'agree_checkbox2'){
            ob_start();
            ?>
            <div class="kboard-attr-row meta-key-<?php echo esc_attr($field['meta_key'])?> required">
                <label class="attr-name" for="agree_checkbox" style="display:none">
                    <span class="field-name"><?php echo esc_html($field['field_name'] ? $field['field_name'] : $field['field_label'])?></span>
                </label>
                <div class="attr-value" style="margin:0;">
                    <div style="margin: 20px 0; padding: 10px; height: 100px; background-color: #f2f2f2; overflow-y: auto;">
                        <p>1. Collection items: e-mail, password, inquiry and other customer input</p>
                        <p>2. Purpose of collection: customer inquiries, reception, processing results, etc.</p>
                        <p>3. Retention and use period: The time of receipt of consultation inquiries and 6 months after completion of consultation, and details of the consultation shall be confirmed in the "Personal Information Processing Policy".
    (However, if it is necessary to preserve it under the relevant statutes, it may be preserved in accordance with the relevant statutes.)</p>
                  
                   
                    </div>
                    <div style="text-align:center;">
                        <input type="hidden" class="required" name="kboard_option_<?php echo esc_attr($field['meta_key'])?>" value="1">
                        <label><input type="checkbox" class="required" name="kboard_option_<?php echo esc_attr($field['meta_key'])?>" value="1"> 개인정보 제공 및 활용에 동의합니다.</label>
                    </div>
                </div>
            </div>
            <?php
            $field_html = ob_get_clean();
        }
        
        return $field_html;
    }
    위와같이 수정시 두게시판 모두 국문버전만 노출됩니다.

  • 코드를 어떤 식으로 수정하셨는지 알려주셔야

    저희가 답변을 드리기 수월합니다.

    아래의 코드처럼 코드를 수정해보세요.

    /*개인정보이용약관1*/
    add_filter('kboard_skin_fields', 'my_kboard_skin_fields1', 10, 2);
    function my_kboard_skin_fields1($fields, $board){
    	if($board->id == '1'){ // 실제 적용될 게시판 ID 값으로 변경해주세요.
    		if(!isset($fields['agree_checkbox'])){
    			...
    		}
    	}
    	
    	return $fields;
    }
    
    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){
    	if($field['field_type'] == 'agree_checkbox'){
    		...
        }
        
        return $field_html;
    }
     
    
     
    
    /*개인정보이용약관2*/
    add_filter('kboard_skin_fields', 'my_kboard_skin_fields2', 10, 2);
    function my_kboard_skin_fields2($fields, $board){
        
        if($board->id == '2'){ // 실제 적용될 게시판 ID 값으로 변경해주세요.
            
            if(!isset($fields['agree_checkbox2'])){
               ...
            }
        }
        
        return $fields;
    }
    
    add_filter('kboard_get_template_field_html', 'my_kboard_get_template_field_html2', 10, 4);
    function my_kboard_get_template_field_html2($field_html, $field, $content, $board){
        
        if($field['field_type'] == 'agree_checkbox2'){
           ...
        }
        
        return $field_html;
    }

    위의 코드처럼 함수명이 중복되지 않게 설정하고 필드의 타입도 중복되지 않게 설정해보세요.

    고맙습니다.

  • 변경해서 수정했을때 나중에 추가한 부분만 적용됩니다.

  • 프로그램 코드를 올려야 할 경우 반드시 에디터의 코드 스니펫 삽입 기능을 사용해주세요.

    워드프레스 필터는 여러 개 사용할 수 있지만

    PHP 함수명은 중복되면 안 됩니다.

    my_kboard_skin_fields 함수명과 my_kboard_get_template_field_html 함수명이 중복되지 않게

    코드를 수정해보시겠어요?

    고맙습니다.

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

    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){
        
        if($field['field_type'] == 'agree_checkbox'){
            ob_start();
            ?>
            <div class="kboard-attr-row meta-key-<?php echo esc_attr($field['meta_key'])?> required">
                <label class="attr-name" for="agree_checkbox" style="display:none">
                    <span class="field-name"><?php echo esc_html($field['field_name'] ? $field['field_name'] : $field['field_label'])?></span>
                </label>
                <div class="attr-value" style="margin:0;">
                    <div style="margin: 20px 0; padding: 10px; height: 100px; background-color: #f2f2f2; overflow-y: auto;">
                        
                        <p>1. 수집항목: 이메일, 비밀번호, 문의내용 및 기타 고객이 직접 입력한 내용</p>
                        <p>2. 수집목적: 고객문의 ,접수, 처리결과 안내 등</p>
                        <p>3. 보유 및 이용기간: 상담 문의 접수 시점 및 상담 완료 후 6개월이며, 세부사항은 ‘개인정보처리방침’을 확인<br>
    (단, 관련 법령에 의거 보존할 필요성이 있는 경우에는 관련 법령에 따라 보존 가능)</p>
                   
                  
                    </div>
                    <div style="text-align:center;">
                        <input type="hidden" class="required" name="kboard_option_<?php echo esc_attr($field['meta_key'])?>" value="1">
                        <label><input type="checkbox" class="required" name="kboard_option_<?php echo esc_attr($field['meta_key'])?>" value="1"> 개인정보 제공 및 활용에 동의합니다.</label>
                    </div>
                </div>
            </div>
            <?php
            $field_html = ob_get_clean();
        }
        
        return $field_html;
    }
     

     

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

    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){
        
        if($field['field_type'] == 'agree_checkbox'){
            ob_start();
            ?>
            <div class="kboard-attr-row meta-key-<?php echo esc_attr($field['meta_key'])?> required">
                <label class="attr-name" for="agree_checkbox" style="display:none">
                    <span class="field-name"><?php echo esc_html($field['field_name'] ? $field['field_name'] : $field['field_label'])?></span>
                </label>
                <div class="attr-value" style="margin:0;">
                    <div style="margin: 20px 0; padding: 10px; height: 100px; background-color: #f2f2f2; overflow-y: auto;">
                      
                
                        <p>1. Collection items: e-mail, password, inquiry and other customer input</p>
                        <p>2. Purpose of collection: customer inquiries, reception, processing results, etc.</p>
                        <p>3. Retention and use period: The time of receipt of consultation inquiries and 6 months after completion of consultation, and details of the consultation shall be confirmed in the "Personal Information Processing Policy".
    (However, if it is necessary to preserve it under the relevant statutes, it may be preserved in accordance with the relevant statutes.)</p>
                  
                
                    </div>
                    <div style="text-align:center;">
                        <input type="hidden" class="required" name="kboard_option_<?php echo esc_attr($field['meta_key'])?>" value="1">
                        <label><input type="checkbox" class="required" name="kboard_option_<?php echo esc_attr($field['meta_key'])?>" value="1"> 개인정보 제공 및 활용에 동의합니다.</label>
                    </div>
                </div>
            </div>
            <?php
            $field_html = ob_get_clean();
        }
        
        return $field_html;
    }

     

    위와 같이 게시판 아이디만 바꿔서 넣었을 때 오류가 생깁니다.

    수정해야 할 부분이 있나요?

  • 안녕하세요.

    KBoard 플러그인에 개인정보 동의 체크박스를 만드는 방법은

    아래의 링크를 참고해보시겠어요?

    KBoard(케이보드) 게시판에 개인정보 동의 체크박스 만들기

     

    위의 링크의 코드를 참고하셔서 게시판 ID나 필드 타입(field_type)을 다르게 설정하시면

    게시판별로 다르게 표시되는 입력 필드를 추가하실 수 있습니다.

    고맙습니다.

  • contact form 3개의 게시판을 각각 다른 언어로 개인정보이용약관을 넣고 싶습니다.

  • 네 감사합니다

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기