안녕하세요.
이전에 설명들을 응용해서 작업을 진행했는데
컨텍폼 게시판 입력필드에서 텍스트/숨김 필드값은 sms 문자로 잘 전달되는데
다른 체크박스 필드를 추가했는데 메세지에 "Array" 이렇게 뜹니다.
아래 소스중에 견적문의 이부분이 체크박스 필드로 복수체크 되도록 했는데 위에처럼 array 가 되어서요.
$message .= "견적문의 : {$content->option->{'kitchen_ca'}}\n";
/***컨텍폼 접수자**/
add_action('kboard_document_insert', 'my_kboard_document_insert', 10, 4);
function my_kboard_document_insert($content_uid, $board_id, $content, $board){
if($board_id == '1'){
$phone = '010-0000-4980';
$message = "고객성함 : {$content->member_display}\n";
$message .= "연락처 : {$content->option->{'mphone'}}\n";
$message .= "견적문의 : {$content->option->{'kitchen_ca'}}\n";
$message .= "창업업종 : {$content->title}";
cosmosfarm_members_sms_send($phone, $message);
}
}
항상 도움주시는데 너무 감사합니다.
이번도 도움 부탁드립니다.
AI에 의해 자동 생성된 답변이에요 😀
안녕하세요,
문의주신 내용에 대해 확인해보니, 체크박스 필드의 내용이 문자로 전달되지 않는 문제가 발생하고 있는 것으로 보입니다. 이 문제를 해결하기 위해 몇 가지 가능한 해결책을 제시해드리겠습니다.
1. 체크박스 필드의 값을 문자로 전달할 때 "Array"라는 메시지가 표시되는 문제는 일반적으로 배열 값을 문자열로 변환하지 않았을 때 발생합니다. 따라서, 체크박스 필드의 값을 문자열로 변환하여 전달해야 합니다. 이를 위해서는 implode() 함수를 사용하여 체크박스 필드의 값을 배열에서 문자열로 변환할 수 있습니다. 아래는 예시 코드입니다:
$message .= "견적문의 : " . implode(", ", $content->option->{'kitchen_ca'}) . "\n";
2. 또 다른 해결책으로는 체크박스 필드의 값을 반복문을 사용하여 하나씩 문자열로 변환하고, 이를 메시지에 추가하는 방법입니다. 아래는 예시 코드입니다:
$checkbox_values = "";
foreach($content->option->{'kitchen_ca'} as $value){
$checkbox_values .= $value . ", ";
}
$checkbox_values = rtrim($checkbox_values, ", "); // 마지막 쉼표 제거
$message .= "견적문의 : " . $checkbox_values . "\n";
위의 해결책 중 하나를 적용하여 체크박스 필드의 값을 문자로 전달할 수 있습니다. 이를 통해 메시지에 올바른 체크박스 필드의 내용이 표시될 것입니다.
도움이 되셨길 바랍니다. 추가로 궁금한 사항이 있으시면 언제든지 문의해주세요. 감사합니다.
↓ 아래 버튼을 눌러서 피드백해주세요.