KBoard 컨텍트폼 사용중인데 연락처필드를 한줄에 3칸이 나오도록 만들고싶은데

KBoard 컨텍트폼을 감사히 사용중입니다

다름이 아니라 연락처 입력 필드를 한줄에 3칸(010-0000-0000 처음 중간 끝이 독립적으로 각각 조금씩 떨어져 있도록)이 나오도록 만들고싶은데요

커뮤에 예전자료를 보면 지금과는 좀 안맞는듯하여 이렇게 질문드립니다 ㅠ

도와주시면 감사하게 잘쓰겠습니다 

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

    KBoard 플러그인에서 연락처 필드를 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;
    }

    $board->id == '1' 부분은 실제 게시판 id로 적용해보세요.

    테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.

    고맙습니다.

  • 감사합니다 덕분에 잘 적용시켰습니다 

    하나만 더 물어보고싶은데요

    컨텍트폼에 title 필드는 없앨수도 없고 숨겨지지가 않아서 그냥 쓰고있는데

    이거는 입력칸 크기를 조절할수없나요?

  • 안녕하세요.

    KBoard(케이보드) 플러그인에서는 제목이 필수로 입력되어야 합니다.

    컨택트폼 스킨에서 제목 필드의 너비를 조절하시려면

    워드프레스 관리자 -> 외모 -> 사용자 정의하기 -> CSS 입력 필드에

    아래의 코드를 추가해보세요.

    #kboard-contact-form-editor .kboard-attr-title input { width: 300px; }

    위의 코드에서 픽셀 크기는 적절히 조절해보세요.

    고맙습니다.

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