contact form을 두개를 사용을 합니다.
제 홈페이지를 보시면 우측 퀵메뉴에서 재휴신청 contact form / 접수신청 contact form 이렇게 두개를 사용을 하는데요
하단의 동의 부분에서
1.개인정보활용동의
2.제3자동의가
이렇게 있는데요
재휴신청은
1.개인정보활용동의
2.제3자동의가
이렇게 사용을 하고
접수신청은
1.개인정보활용동의
2.제3자동의
3.계약내용
이렇게 하고 싶습니다.
두 개의 conform 내용다르고 접수신청에 계약내용을 추가 하는 방법좀 알 수 있을가요?
아래는 소스코드로 앞전에 한번 수정을 해주신 부분입니다.
<?php
/*
Plugin Name: KBoard : elnara 기술지원
Plugin URI: https://www.cosmosfarm.com/products/kboard
Description: elnara.co.kr 웹사이트 기술지원 플러그인입니다.
Version: 1.0
Author: 코스모스팜 - Cosmosfarm
Author URI: https://www.cosmosfarm.com/
*/
if(!defined('ABSPATH')) exit;
add_filter('kboard_skin_file_path', 'elnara_kboard_skin_file_path', 10, 5);
function elnara_kboard_skin_file_path($current_file_path, $skin_name, $file, $vars, $skin){
if($skin_name == 'ask-one' && $file == 'editor.php'){
$current_file_path = dirname(__FILE__) . '/skin/ask-one/' . $file;
}
return $current_file_path;
}
add_filter('kboard_skin_fields', 'my_kboard_skin_fields', 10, 2);
function my_kboard_skin_fields($fields, $board){
if(in_array($board->id, array('11', '12'))){ // 실제 적용될 게시판 ID 값으로 변경해주세요.
if(!isset($fields['address'])){
$fields['address'] = array(
'field_type' => 'address',
'field_label' => '주소',
'class' => 'kboard-attr-text',
'hidden' => '',
'meta_key' => '',
'field_name' => '',
'permission' => '',
'roles' => '',
'default_value' => '',
'placeholder' => '',
'required' => '',
'show_document' => '',
'description' => '',
'close_button' => 'yes'
);
}
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'] == 'address'){
// 페이지에 Daum 우편번호 서비스 자바스크립트 라이브러리를 추가합니다.
wp_enqueue_script('daum-postcode', 'https://spi.maps.daum.net/imap/map_js_init/postcode.v2.js', array(), '', true);
ob_start();
?>
<div class="kboard-attr-row">
<label class="attr-name" for="kboard_option_postcode">우편번호/주소</label>
<div class="attr-value">
<input type="text" id="kboard_option_postcode" name="kboard_option_postcode" value="<?php echo $content->option->postcode?>" placeholder="우편번호..." style="width:100px">
<input type="text" id="kboard_option_address" name="kboard_option_address" value="<?php echo $content->option->address?>" placeholder="주소...">
<button type="button" class="kboard-default-button-small" onclick="kboard_postcode_address_search()">우편번호/주소 검색</button>
</div>
</div>
<script>
function kboard_postcode_address_search(){
var width = 500;
var height = 600;
new daum.Postcode({
width: width,
height: height,
oncomplete: function(data){
jQuery('#kboard_option_postcode').val(data.zonecode);
jQuery('#kboard_option_address').val(data.roadAddress);
setTimeout(function(){
jQuery('#kboard_option_address').focus();
});
}
}).open({
left: (screen.availWidth-width)*0.5,
top: (screen.availHeight-height)*0.5
});
}
</script>
<?php
$field_html = ob_get_clean();
}
if($field['field_type'] == 'agree_checkbox'){
ob_start();
?>
<div class="kboard-attr-row meta-key-<?php echo esc_attr($field['meta_key'])?>">
<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: 20px 0 5px 0;">
<div>
<input type="hidden" class="" name="kboard_option_<?php echo esc_attr($field['meta_key'])?>" value="">
<label><input type="checkbox" class="" name="kboard_option_<?php echo esc_attr($field['meta_key'])?>" value="1" onchange="check_agree2()" required> <strong>아래 사항에 모두 동의합니다.</strong></label>
</div>
</div>
<hr />
<div class="attr-value" style="margin:0;">
<div>
<input type="hidden" class="" name="kboard_option_agree_checkbox_1" value="">
<label><input type="checkbox" class="" name="kboard_option_agree_checkbox_1" value="1" onchange="check_agree()" required><span style="color: #999999;"><strong>(필수)</strong></span><strong><a href="http://elnara.co.kr/privacy_policy/" target="_blank" rel="noopener"><span style="text-decoration: underline;">개인정보 제공 및 활용에 동의</span></a></strong></label>
</div>
</div>
<div class="attr-value" style="margin:0;">
<div>
<input type="hidden" class="" name="kboard_option_agree_checkbox_2" value="">
<label><input type="checkbox" class="" name="kboard_option_agree_checkbox_2" value="1" onchange="check_agree()" required><span style="color: #999999;"><strong>(필수)</strong></span><strong><a href="http://elnara.co.kr/user-privacy-third-automatic/" target="_blank" rel="noopener"><span style="text-decoration: underline;">개인정보 제3자 제공 동의</span></a></strong></label>
</div>
</div>
</div>
<script>
function check_agree(){
if(jQuery('input[type=checkbox][name=kboard_option_agree_checkbox_1]:checked').length && jQuery('input[type=checkbox][name=kboard_option_agree_checkbox_2]:checked').length){
jQuery('input[type=checkbox][name=kboard_option_<?php echo esc_attr($field['meta_key'])?>]').prop('checked', true);
}
else{
jQuery('input[type=checkbox][name=kboard_option_<?php echo esc_attr($field['meta_key'])?>]').prop('checked', false);
}
}
function check_agree2(){
if(jQuery('input[type=checkbox][name=kboard_option_<?php echo esc_attr($field['meta_key'])?>]:checked').length){
jQuery('input[type=checkbox][name=kboard_option_agree_checkbox_1]').prop('checked', true);
jQuery('input[type=checkbox][name=kboard_option_agree_checkbox_2]').prop('checked', true);
}
else{
jQuery('input[type=checkbox][name=kboard_option_agree_checkbox_1]').prop('checked', false);
jQuery('input[type=checkbox][name=kboard_option_agree_checkbox_2]').prop('checked', false);
}
}
</script>
<?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_html', 10, 4);
function my_kboard_document_add_option_value_field_html($value_html, $field, $content, $board){
if($field['field_type'] == 'address'){
$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->postcode}) {$content->option->address}");
}
return $value_html;
}
안녕하세요~^^
코드를 올려주실 땐 에디터의 코드 스니펫 삽입 기능을 사용해서 올려주세요.
특정 게시판에만 계약내용 체크박스를 추가하고 싶으신 건지요?
올려주신 코드 중에서 아래의 코드를 찾아서
<div class="attr-value" style="margin:0;">
<div>
<input type="hidden" class="" name="kboard_option_agree_checkbox_2" value="">
<label><input type="checkbox" class="" name="kboard_option_agree_checkbox_2" value="1" onchange="check_agree()" required><span style="color: #999999;"><strong>(필수)</strong></span><strong><a href="http://elnara.co.kr/user-privacy-third-automatic/" target="_blank" rel="noopener"><span style="text-decoration: underline;">개인정보 제3자 제공 동의</span></a></strong></label>
</div>
</div>
찾은 코드 밑에 아래의 코드를 추가해보시겠어요?
<?php if($board->id == '1'):?>
<div class="attr-value" style="margin:0;">
<div>
<input type="hidden" class="" name="kboard_option_agree_checkbox_3" value="">
<label><input type="checkbox" class="" name="kboard_option_agree_checkbox_3" value="1" onchange="check_agree()" required><span style="color: #999999;"><strong>(필수)</strong></span><strong><a href="페이지주소" target="_blank" rel="noopener"><span style="text-decoration: underline;">계약내용</span></a></strong></label>
</div>
</div>
<?php endif?>
위의 코드에서 $board->id == '1' 부분은 계약내용 필드를 추가할 게시판 id로 적용해보세요.
페이지주소 부분은 실제 계약내용 쪽 페이지주소로 적용해보세요.
아래의 코드를 찾아서
<script>
function check_agree(){
if(jQuery('input[type=checkbox][name=kboard_option_agree_checkbox_1]:checked').length && jQuery('input[type=checkbox][name=kboard_option_agree_checkbox_2]:checked').length){
jQuery('input[type=checkbox][name=kboard_option_<?php echo esc_attr($field['meta_key'])?>]').prop('checked', true);
}
else{
jQuery('input[type=checkbox][name=kboard_option_<?php echo esc_attr($field['meta_key'])?>]').prop('checked', false);
}
}
function check_agree2(){
if(jQuery('input[type=checkbox][name=kboard_option_<?php echo esc_attr($field['meta_key'])?>]:checked').length){
jQuery('input[type=checkbox][name=kboard_option_agree_checkbox_1]').prop('checked', true);
jQuery('input[type=checkbox][name=kboard_option_agree_checkbox_2]').prop('checked', true);
}
else{
jQuery('input[type=checkbox][name=kboard_option_agree_checkbox_1]').prop('checked', false);
jQuery('input[type=checkbox][name=kboard_option_agree_checkbox_2]').prop('checked', false);
}
}
</script>
아래의 코드로 교체해보세요.
<?php if($board->id == '1'):?>
<script>
function check_agree(){
if(jQuery('input[type=checkbox][name=kboard_option_agree_checkbox_1]:checked').length && jQuery('input[type=checkbox][name=kboard_option_agree_checkbox_2]:checked').length && jQuery('input[type=checkbox][name=kboard_option_agree_checkbox_3]:checked').length){
jQuery('input[type=checkbox][name=kboard_option_<?php echo esc_attr($field['meta_key'])?>]').prop('checked', true);
}
else{
jQuery('input[type=checkbox][name=kboard_option_<?php echo esc_attr($field['meta_key'])?>]').prop('checked', false);
}
}
function check_agree2(){
if(jQuery('input[type=checkbox][name=kboard_option_<?php echo esc_attr($field['meta_key'])?>]:checked').length){
jQuery('input[type=checkbox][name=kboard_option_agree_checkbox_1]').prop('checked', true);
jQuery('input[type=checkbox][name=kboard_option_agree_checkbox_2]').prop('checked', true);
jQuery('input[type=checkbox][name=kboard_option_agree_checkbox_3]').prop('checked', true);
}
else{
jQuery('input[type=checkbox][name=kboard_option_agree_checkbox_1]').prop('checked', false);
jQuery('input[type=checkbox][name=kboard_option_agree_checkbox_2]').prop('checked', false);
jQuery('input[type=checkbox][name=kboard_option_agree_checkbox_3]').prop('checked', false);
}
}
</script>
<?php else:?>
<script>
function check_agree(){
if(jQuery('input[type=checkbox][name=kboard_option_agree_checkbox_1]:checked').length && jQuery('input[type=checkbox][name=kboard_option_agree_checkbox_2]:checked').length){
jQuery('input[type=checkbox][name=kboard_option_<?php echo esc_attr($field['meta_key'])?>]').prop('checked', true);
}
else{
jQuery('input[type=checkbox][name=kboard_option_<?php echo esc_attr($field['meta_key'])?>]').prop('checked', false);
}
}
function check_agree2(){
if(jQuery('input[type=checkbox][name=kboard_option_<?php echo esc_attr($field['meta_key'])?>]:checked').length){
jQuery('input[type=checkbox][name=kboard_option_agree_checkbox_1]').prop('checked', true);
jQuery('input[type=checkbox][name=kboard_option_agree_checkbox_2]').prop('checked', true);
}
else{
jQuery('input[type=checkbox][name=kboard_option_agree_checkbox_1]').prop('checked', false);
jQuery('input[type=checkbox][name=kboard_option_agree_checkbox_2]').prop('checked', false);
}
}
</script>
<?php endif?>
위의 코드에서 $board->id == '1' 부분은 계약내용 필드를 추가할 게시판 id로 적용해보세요.
고맙습니다.
됩니다. 정말 감사합니다.
다시 한번 정말 감사합니다.
그런데 2가지문제가 남았습니다.
제가 해보려고 했는데 아무리 해도 안되네요
죄송하지만 답변을 좀 부탁드리겠습니다.
글은 새로 올리겠습니다. 감사합니다.