add_action('woocommerce_order_status_completed', 'my_order_status_completed_sms', 10, 1);
function my_order_status_completed_sms($order_id){
$purchaser = wp_get_current_user();
$phone = get_user_meta(get_current_user_id(), 'billing_phone', true);
$order = wc_get_order($order_id);
$items = $order->get_items();
foreach ($items as $item){
$product_name = $item->get_name();
cosmosfarm_members_sms_send($phone, $purchaser->last_name . '[MF SOUND] '.$product_name.'의 결제가 완료되었습니다.');
}
}
안녕하세요? 위와 같은 코드를 사용하여 문자 시스템을 이용중에 있습니다.(토스트)
문자가 길어지면 자동으로 MMS 로 발송하는줄 알았는데 그러진 않더라구요. 그냥 발송 요청을 안하는거 같습니다.
제가 맞다면 문자 내용이 길때 MMS로 자동 변경할순 없을까요?
안녕하세요~^^
현재 90 바이트(한글 45자) 초과 시에 장문 문자로 보내고 있습니다.
FTP로 접속해서 /wp-content/plugins/cosmosfarm-members/class/Cosmosfarm_Members_Sms.class.php 파일에
아래의 코드가 장문 문자로 보낼지 체크하는 코드입니다.
if(strlen(iconv('utf8', 'euckr', $content)) > 90){
$type = 'L';
}
else{
$type = '';
}
$body['smsType'] = base64_encode($type); // LMS일경우 L
만약, 장문 문자 전송이 정상적으로 되지 않을 경우
코스모스팜 회원관리 플러그인을 최신 버전으로 업데이트해보시겠어요?
KBoard(케이보드) 플러그인이 설치되어 있다면,
워드프레스 관리자 -> 스토어 메뉴에서 설치하기 버튼을 눌러주시면 업데이트가 완료됩니다.
KBoard(케이보드) 플러그인이 설치되지 않았다면,
FTP로 접속해서 파일을 업로드(덮어쓰기) 해주셔야 합니다.
/wp-content/plugins/cosmosfarm-members 경로에 최신버전 파일을 업로드(덮어쓰기) 해주세요.
최신 버전에서도 문제가 된다면,
아래 관련 링크도 참고해보세요.
https://www.cosmosfarm.com/threads/document/23688
고맙습니다.
add_action('wpcf7_mail_sent','send_sms_file_one',10,1);
function send_sms_file_one($form){
if ($form->id() == 6035) {
$submission = WPCF7_Submission::get_instance();
if ( $submission ) {
$cf7_data = $submission->get_posted_data();
cosmosfarm_members_sms_send(
$cf7_data['tel-689'],
'[MF SOUND] 제작 요청하신 작업물이 발송되었습니다. 수신 확인이 안되는 경우 스팸 및 프로모션 확인 부탁드립니다. https://mfsound.co.kr'
);
}
}
}
안녕하세요.
해당 코드가 링크주신 스레드처럼 단문길이까지만 발송이 됩니다. 해당 스레드의 멘 마지막 내용처럼 코드를 변경했음에도 불구하고 같은 현상이 일어납니다.
버전은 최신버전이 맞습니다.
https://www.dropbox.com/s/4shfiu8hpgii7cc/Cosmosfarm_Members_Sms.class.php?dl=0
해당 클래스 파일 같이 첨부해드립니다.
왜 장문으로 발송이 안되는걸까요? ㅠ.ㅠ
안녕하세요.
전체 코드를 올려주시는 것보다 수정하신 코드를 올려주시면
보다 더 정확한 답변을 받으실 수 있습니다.
아래 링크 답변에 iconv() 함수가 제대로 동작하지 않는 문제가 있어
다른 코드 적용 방법도 안내되어 있습니다.
https://www.cosmosfarm.com/threads/document/23688#document-answer-23908
확인해보시겠어요?
그래도 해결되지 않으신다면,
저희 고객지원 쪽 이메일로 워드프레스 관리자 계정과 FTP 접속 정보를 보내주시면 점검해드리겠습니다.
고맙습니다.
public function send_execute_toast_cloud($phone, $content){
$option = get_cosmosfarm_members_option();
if(!$this->is_active()){
return array('result'=>'error', 'message'=>'SMS 보내기 설정이 사용중지 되었습니다.');
}
if(strlen(iconv('utf8', 'euckr', $content)) > 90){
$sender = 'mms';
$title = mb_substr($content, 0, 40);
$args = array(
'headers' => array('content-type' => 'application/json;charset=UTF-8'),
'body' => json_encode(array(
'title' => $title,
'body' => $content,
'sendNo' => "{$option->sms_caller1}{$option->sms_caller2}{$option->sms_caller3}",
'recipientList' => array(array('recipientNo' => $phone))
))
);
}
else{
$sender = 'sms';
$args = array(
'headers' => array('content-type' => 'application/json;charset=UTF-8'),
'body' => json_encode(array(
'body' => $content,
'sendNo' => "{$option->sms_caller1}{$option->sms_caller2}{$option->sms_caller3}",
'recipientList' => array(array('recipientNo' => $phone))
))
);
}
$response = wp_safe_remote_post("https://api-sms.cloud.toast.com/sms/v2.0/appKeys/{$option->sms_toast_cloud_appkey}/sender/$sender", $args);
해당 링크 글대로 수정한 코드입니다. 맨 하단 'response' 줄 빼고는 코스모스팜 멤버 2.8.6 버전이랑 동일해서 하단만 수정했는데 역시 계속 짤려서 발송됩니다.
add_action('wpcf7_mail_sent','send_sms_file_one',10,1);
function send_sms_file_one($form){
if ($form->id() == 6035) {
$submission = WPCF7_Submission::get_instance();
if ( $submission ) {
$cf7_data = $submission->get_posted_data();
cosmosfarm_members_sms_send(
$cf7_data['tel-689'],
'[MF SOUND] 제작 요청하신 작업물이 발송되었습니다. 제작 요청하신 작업물이 발송되었습니다.제작 요청하신 작업물이 발송되었습니다. TESTTESTTEESTTESTTEST https://mfsound.co.kr'
);
}
}
}
현재 function.php 에서 쓰고 있는 코드는 위와 같습니다.
무엇을 수정해야될까요?
안녕하세요.
토스트 클라우드 SMS 서비스를 이용 중이신지요?
카페24 SMS 서비스를 이용 중이시라면
send_execute_cafe24 함수 쪽도 수정해보시겠어요?
안내해드린 링크에 올려주신 코드 중
아래의 코드를
if(strlen(iconv('utf8', 'euckr', $content)) > 90){
아래의 코드로 교체하는 코드도 안내되어 있습니다.
if(strlen(mb_convert_encoding($content, "EUC-KR", "UTF-8")) > 90){
만약, 위의 코드로 교체한 후 정상적으로 동작한다면
서버 관리자 또는 웹호스팅 업체에 iconv() 함수 동작을 테스트 요청을 해보셔야 할 듯합니다.
코드 교체 후에도 정상적으로 동작하지 않는다면,
저희 고객지원 쪽 이메일로 워드프레스 관리자 계정과 FTP 접속 정보를 보내주시면 점검해드리겠습니다.
고맙습니다.