토스트 클라우드 설정은 잘 되어서 수동으로 문자보내기는 잘 됩니다.
회원 가입시 문자보내기 설정을 하려고 하는데요, 커뮤니티 글을 보고 테마의 functions.php에 아래와 같이 설정을 했는데
회원가입을 해도 문자가 안 옵니다. 뭐가 문제인지 좀 도와주세요~ㅜㅜ
<?php
function theme_enqueue_styles() {
wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array( 'avada-stylesheet' ) );
}
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function avada_lang_setup() {
$lang = get_stylesheet_directory() . '/languages';
load_child_theme_textdomain( 'Avada', $lang );
}
add_action( 'after_setup_theme', 'avada_lang_setup' );
function fn_admin_bar() {
return (current_user_can("manage_options"))? true : false;
}
add_filter('show_admin_bar', 'fn_admin_bar' );
add_action('user_register', 'test_cosmosfarm_send_sms', 99, 1);
function test_cosmosfarm_send_sms($user_id){
$phone = isset($_POST['billing_phone']) ? $_POST['billing_phone'] : '';
if($phone){
cosmosfarm_members_sms_send($phone, '회원가입되었습니다.');
}
}
안녕하세요~^^
올려주신 코드 상에는 문제가 없어 보입니다.
billing_phone 메타키는 실제 WP Members 필드 쪽에 있는지요?
워드프레스 관리자 -> 설정 -> WP-Members -> 필드 페이지에서 확인하실 수 있습니다.
메타키에 문제가 없다면
디버그 모드를 활성화해서 어떤 에러 메시지를 표시하는지 확인해보시겠어요?
디버그 모드 활성화 방법은 아래의 링크를 참고해보세요.
고맙습니다.
[23-Jul-2018 12:14:15] PHP Notice: Undefined index: html in /ostara/www/wp-content/plugins/wp-members/admin/tab-fields.php on line 246
이렇게 출력이 되었습니다.
그리고 wp-content/plugins/wp-members/admin/tab-fields.php 243 ~ 248까지는 아래와 같이 되어 있습니다.
<!--<div id="wpmem_allowhtml">
<li>
<label><?php _e( 'Allow HTML?', 'wp-members' ); ?></label>
<input type="checkbox" name="add_html" value="y" <?php echo ( $mode == 'edit' ) ? checked( true, $field['html'] ) : false; ?> />
</li>
</div>-->
안녕하세요.
Notice 라는건 일단 오류는 아닙니다.
오류는 Warning, Error 등으로 표시가 되기 때문에
올려주신 코드와 SMS 발송과는 관련이 없어보입니다.
기존의 코드를 아래의 코드로 교체해서 실제 회원가입 시 페이지에 어떻게 표시되는지 확인해보시고 내용을 올려주시겠어요?
add_action('user_register', 'test_cosmosfarm_send_sms', 99, 1);
function test_cosmosfarm_send_sms($user_id){
$phone = isset($_POST['billing_phone']) ? $_POST['billing_phone'] : '';
if($phone){
$result = cosmosfarm_members_sms_send($phone, '회원가입되었습니다.');
print_r($result); exit;
}
}
고맙습니다.
알려주신 위 코드로 설정 하고 회원가입을 하니까 아래와 같은 메시지가 출력 되었어요... ㅜㅜ
Notice: iconv(): Detected an illegal character in input string in /ostara/www/wp-content/plugins/cosmosfarm-members/class/Cosmosfarm_Members_Sms.class.php on line 137 Array ( [result] => error [message] => Invalid API parameters. )
메시지 내용에 특수문자가 들어갔는지요?
특수문자가 있다면 제거하신 뒤에 확인해보시겠어요?
올려주신 메시지는 인코딩 시 일부 부적절한 특수문자 등이 들어갔을 때 표시됩니다.
특수문자가 들어가지 않았다면 iconv() 함수가 제대로 동작하지 않는 문제일 수도 있습니다.
아래의 링크도 참고하셔서 iconv() 함수 대신 mb_convert_encoding() 함수로 적용해보시겠어요?
https://www.cosmosfarm.com/threads/document/23688
그래도 해결되지 않으신다면
저희 고객지원 쪽 이메일로 워드프레스 관리자 계정과 FTP 접속 정보를 보내주시면 점검해드리겠습니다.
고맙습니다.
메일 보내드렸습니다... ㅜㅜ
부탁드립니다~
저희 고객지원 쪽으로 보내주신 정보로 테마 쪽 functions.php 파일에 추가하신 코드를 확인해보니
메시지 내용 부분의 글자가 아래의 코드처럼 깨져있습니다.
$result = cosmosfarm_members_sms_send($phone, 'ȸ�����ԵǾ����ϴ�.');
한글이 깨져서 나오는 이유는
대부분 인코딩 설정이 잘못된 상태로 파일이 저장된 경우입니다.
코드를 수정하실 때에는
Notepad++ 같은 무료 편집기로 파일을 수정해주셔야 합니다.
euc-kr 인코딩과 utf-8 인코딩은 서로 다르기 때문에 글자가 깨집니다.
수정한 파일을 utf-8 인코딩으로 변경해서 저장해주세요.
아래의 링크도 참고해보시겠어요?
워드프레스 홈페이지 수정후 한글 깨지는 문제의 원인과 해결 방법입니다.
고맙습니다.
알려주신대로 utf-8로 바꿔주니까 정상적으로 작동 합니다~
대단히 감사합니다^^