code snippet 으로 코드주입 후 KBoard 관리 페이지 먹통

 

안녕하세요.

 

contact-form 사용하고 있는데 휴대폰번호(연락처)를 3칸으로 나누어 받고 싶어서

 

https://www.cosmosfarm.com/threads/document/50497?answer_sort=votes&answer_order=desc#tabs-horizontal

 

해당 글을 참고해서 해당글에 있는 소스코드를 code snippet 로 넣었습니다.

 

근데 넣으면 KBoard > 게시판 목록 및 관리에 해당 contact-form 에 들어가면

입력필드 탭 이런게 아예 먹통이되서 눌러도 반응이 전혀 없습니다.

그래서 code snippet 에 작성된 코드를 지우면 문제없이 탭이 열립니다.

 

F12 눌러서 확인해보면

Uncaught ReferenceError: kboard_setting_tab_change is not defined
    at HTMLAnchorElement.onclick (admin.php?page=kboard_list&board_id=1:193:106)

 

이라고 뜨는데 혹시 이 문제를 어떻게 해결할 수 있을까요?

 

연락처를 3칸으로 나눠서 받고 싶습니다 

 

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

    정확한 원인을 파악하기 위해 디버그 모드를 활성화해서

    어떤 오류 메시지가 표시되는지 확인해보셔야 할 듯합니다.

    디버그 모드 활성화 방법은 아래의 링크를 참고해보세요.

    워드프레스 에러 확인하기 - 디버그 모드 활성화 방법

    그리고 스니펫에 넣은 코드를 남겨 주시겠어요?

    고맙습니다.

  • 해당 코드는 전에 답변하셨던 링크에 있는 코드 그대로 넣었습니다

     

     

    add_filter('kboard_skin_fields', 'kboard_skin_fields_20210219', 10, 2);
    function kboard_skin_fields_20210219($fields, $board){
        if($board->id == '1'){ // 실제 적용될 게시판 ID 값으로 변경해주세요.
            if(!isset($fields['phone'])){
                $fields['phone'] = array(
                    'field_type' => 'phone',
                    'field_label' => '연락처',
                    'class' => 'kboard-attr-text',
                    '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', 'kboard_get_template_field_html_20210219', 10, 4);
    function kboard_get_template_field_html_20210219($field_html, $field, $content, $board){
        if($field['field_type'] == 'phone'){
            ob_start();
            ?>
            <div class="kboard-attr-row">
                <label class="attr-name" for="kboard_option_phone">연락처</label>
                <div class="attr-value">
                    <input type="text" id="kboard_option_phone" name="kboard_option_phone" value="<?php echo $content->option->phone?>" style="width: 100px;">-
                    <input type="text" id="kboard_option_phone2" name="kboard_option_phone2" value="<?php echo $content->option->phone2?>" style="width: 100px;">-
                    <input type="text" id="kboard_option_phone3" name="kboard_option_phone3" value="<?php echo $content->option->phone3?>" style="width: 100px;">
                </div>
            </div>
            <?php
            $field_html = ob_get_clean();
        }

        return $field_html;
    }

    add_filter('kboard_document_add_option_value_field_html', 'kboard_document_add_option_value_field_html_20210219', 10, 4);
    function kboard_document_add_option_value_field_html_20210219($value_html, $field, $content, $board){
        if($field['field_type'] == 'phone'){
            $value_html = sprintf('<div class="kboard-document-add-option-value meta-key-%s"><span class="option-name">%s</span> : %s</div><hr>', $field['field_type'], $field['field_name'], "{$content->option->phone}-{$content->option->phone2}-{$content->option->phone3}");
        }
        
        return $value_html;
    }

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