토스트 클라우드 설정은 잘 되어서 수동으로 문자보내기는 잘 됩니다.
회원 가입시 문자보내기 설정을 하려고 하는데요, 커뮤니티 글을 보고 테마의 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 -> 필드 페이지에서 확인하실 수 있습니다.
메타키에 문제가 없다면
디버그 모드를 활성화해서 어떤 에러 메시지를 표시하는지 확인해보시겠어요?
디버그 모드 활성화 방법은 아래의 링크를 참고해보세요.
고맙습니다.
안녕하세요.
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;
}
}
고맙습니다.
메시지 내용에 특수문자가 들어갔는지요?
특수문자가 있다면 제거하신 뒤에 확인해보시겠어요?
올려주신 메시지는 인코딩 시 일부 부적절한 특수문자 등이 들어갔을 때 표시됩니다.
특수문자가 들어가지 않았다면 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로 바꿔주니까 정상적으로 작동 합니다~
대단히 감사합니다^^
[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: 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. )
메일 보내드렸습니다... ㅜㅜ
부탁드립니다~