function에 코드 삽입 시 kboard 게시판의 탭 버튼 눌리지 않음

1. 정확한 제품 또는 플러그인 이름

KBoard - contact-form

 

2. 상세 내용

컨택트 폼에 필드 추가를 하려고 function에 코드 삽입을 했는데

게시판 관리 내 기본설정,권한설정, 입력 필드 등의 탭버튼이 안눌립니다.

아래 페이지의 양도희망가/최근 3년 매출액  칸을 현재 html로 설정해놓았는데,

메일과 관리자 페이지에서 답변이 보이지 않아 필드 추가를 하려는 상태입니다.

어떻게 해야 해결할 수 있을까요?

 

그리고 자꾸 이 메일이 옵니다

플러그인 삭제 했다가 다시 설치해도 옵니다.

메일 사진 링크 : https://imgur.com/a/TXIflPz

 

3. 확인 가능한 상세 페이지 주소

https://b2305001.mycafe24.com/?page_id=75

 

4. 수정한 코드 내역 (있다면)

삽입한 코드는 아래와 같습니다.

//양도희망가

add_filter('kboard_skin_fields', 'my_kboard_skin_fields4', 10, 2);

function my_kboard_skin_fields4($fields, $board){

    if($board->id == '2'){ // 실제 적용될 게시판 ID 값으로 변경해주세요.

        if(!isset($fields['end_construction4'])){

            $fields['end_construction4'] = array(

                'field_type' => 'end_construction4',

                'field_label' => '양도희망가 ',

                'class' => 'kboard-attr-text',

                'hidden' => '',

                'meta_key' => '',

                'field_name' => '',

                'permission' => '',

                'roles' => '',

                'default_value' => '',

                'placeholder' => '',

                'required' => '1',

                'show_document' => '1',

                'description' => '',

                'close_button' => 'yes'

            );

        }

    }

   

    return $fields;

}



add_filter('kboard_get_template_field_html', 'my_kboard_get_template_field_html4', 10, 4);

function my_kboard_get_template_field_html4($field_html, $field, $content, $board){

    if($field['field_type'] == 'end_construction4'){

        $fields = $board->fields();

        ob_start();

        ?>

                <div class="kboard-attr-row kboard-attr-checkbox meta-key-end_construction4 required">

            <label class="attr-name" for="end_construction4"><span class="field-name">양도희망가</span><span class="attr-required-text"> *</span></label>

            <div class="attr-value">

                <input type="text" placeholder="백만원 단위로 입력해주세요." name="kboard_option_end_construction4" value="">

                <label class="attr-value-label">

                    <input type="checkbox" name="kboard_option_end_construction409[]" class="required" value="협의"<?php if($fields->isSavedOption($content->option->end_construction409, '협의')):?> checked<?php endif?>> 기타 <input type="text" name="kboard_option_end_construction_etc409" value="<?php echo $content->option->end_construction_etc409?>" class="etc4">

                </label>    

            </div>

        </div>

        <?php

        $field_html = ob_get_clean();

    }

   

    return $field_html;

}



add_filter('kboard_document_add_option_value_field_html', 'my_kboard_document_add_option_value_field_html4', 10, 4);

function my_kboard_document_add_option_value_field_html4($value_html, $field, $content, $board){

    if($field['field_type'] == 'end_construction4'){

        $end_construction4 = is_array($content->option->end_construction4) ? implode(',', $content->option->end_construction4) : $content->option->end_construction4;

        $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'], "$end_construction409 : {$content->option->end_construction_etc409}");

    }

   

    return $value_html;

}

 

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    남겨주신 코드에는 딱히 문제가 안보이는데 

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

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

    일단 디버그를 모드를 사용해서 받은 메시지를 남겨주시겠어요?

    확인 후 답변 드리겠습니다.

     

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

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

    고맙습니다.

  • 안녕하세요 

    디버그 모드 활성화 했는데 

    로그파일도 안뜨고, 메시지도 안뜹니다..

  • 안녕하세요~^^

    보통 게시판 관리 내 기본설정, 권한설정, 입력 필드 등의 탭버튼이 안 눌리는 에러는 

    function 코드가 잘못 작성되어 있는 경우가 많습니다. 

    추가하신 함수에서 괄호가 잘 안 닫혀있거나 잘못작성되어 있는지 확인을 해보시겠어요? 

    그런데 디버그 메시지가 안 나온다고 하시니 

    남겨주신 함수를 하나씩 제거하면서 확인을 해보시겠어요? 

    확인 후 다시 답변 남겨주시겠어요?

    고맙습니다.

  • 지금 다른 홈페이지 작업하다가 똑같은 오류가 발생하여 재문의드립니다.

    개인정보 이용 동의 필드 추가이고 똑같은 필터 사용하고있습니다.

    하나하나 삭제하며 보니 kboard_skin_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: 20px; height: 150px; font-size:14px; line-height:20px; color:#666; background-color: #f2f2f2; overflow-y: auto;">
                        <p>원하시는 내용으로 추가 가능하십니다.</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;
    }

     

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

AI 상담