안녕하세요.
현재 운영중인 사이트에 영문 안내 기능을 추가하려 합니다.
이리저리 찾아보고 방법은 대충 감이 오는데 코딩실력이 따라주지 않아 의뢰드립니다.
아주 간단한 코딩이라 생각듭니다.
코스모스팜 회원가입 프로그램 사용하고 wp-members 로 회원가입 받고 있습니다.
회원가입시 lang_EN 이라는 메타키를 체크박스로 만들어 체크하였을때
function.php 에 여러 상황에서의 이메일 알림과 카카오톡 알림을 구분하여 발송하려 합니다.
$lang_EN = get_user_meta($user_id, 'lang_EN ', true);
if($lang_EN ){
}
위 코드를 넣어서 만들면 될거 같은데 몇번 시도해 보았는데 잘 안되네요.
아래 코드는 lang_EN 체크박스에 체크가 안되어 있을경우 한글로 이메일 알림등을 보내는 코드입니다. (현재 사용중입니다.)
아래 코드를 수정하여 체크박스에 체크가 되어 있는 회원의 경우 function에 저장된 영문 안내 이메일 알림을 보내고 싶습니다.
add_action('kboard_comments_pre_delete', 'kboard_comments_pre_delete_2020_01_02', 10, 3);
function kboard_comments_pre_delete_2020_01_02($comment_uid, $content_uid, $board){
global $wpdb;
if(!$board->isAdmin() && in_array($board->id, array('4', '5'))){ // 실제 게시판 id로 적용해주세요.
$results = $wpdb->get_results("SELECT * FROM `{$wpdb->prefix}kboard_comments` WHERE `parent_uid`='{$comment_uid}'");
if($results){
die("<script>alert('답글이 달린 경우 기록 보관을 위해 삭제 불가합니다.');window.close();</script>");
}
}
}
add_action('kboard_comments_pre_update', 'kboard_comments_pre_update_2020_01_02', 10, 3);
function kboard_comments_pre_update_2020_01_02($comment_uid, $content_uid, $board){
global $wpdb;
if(!$board->isAdmin() && in_array($board->id, array('4', '5'))){ // 실제 게시판 id로 적용해주세요.
$results = $wpdb->get_results("SELECT * FROM `{$wpdb->prefix}kboard_comments` WHERE `parent_uid`='{$comment_uid}'");
if($results){
die("<script>alert('답글이 달린 경우 기록 보관을 위해 수정 불가합니다.');window.close();</script>");
}
}
}
add_action('kboard_comments_insert', 'my_admin_comment_email_alert', 10, 2);
function my_admin_comment_email_alert($comment_uid, $content_uid){
$comment = new KBComment();
$comment->initWithUID($comment_uid);
$content = new KBContent();
$content->initWithUID($content_uid);
$board = $content->getBoard();
if(!$board->isAdmin()){
if(!class_exists('KBMail')){
include_once KBOARD_DIR_PATH . '/class/KBMail.class.php';
}
$url = new KBUrl();
$mail = new KBMail();
$mail->to = get_option('admin_email');
$mail->title = "【웹사이트】 새로운 메시지가 있습니다!";
$mail->content = $comment->content;
$mail->url = $url->getDocumentRedirect($content->uid);
$mail->url_name = '신청서로 이동하기';
$mail->send();
}
}
add_action('kboard_comments_insert', 'my_kboard_comments_insert', 10, 2);
function my_kboard_comments_insert($insert_id, $content_uid){
$comment = new KBComment();
$comment->initWithUID($insert_id);
$document = new KBContent();
$document->initWithUID($content_uid);
if($document->member_uid){
$user = new WP_User($document->member_uid);
if($user->user_email && $user->ID != get_current_user_id()){
if(!class_exists('KBMail')){
include_once KBOARD_DIR_PATH . '/class/KBMail.class.php';
}
$url = new KBUrl();
$mail = new KBMail();
$mail->to = $user->user_email;
$mail->title = "【웹사이트】 새로운 메시지가 있습니다!";
$mail->content = $comment->content;
$mail->url = $url->getDocumentRedirect($document->uid);
$mail->url_name = '신청서로 이동하기';
$mail->send();
}
}
}
add_action('kboard_document_insert', 'my_kboard_document_insert_210804', 10, 3);
function my_kboard_document_insert_210804($content_uid, $board_id, $content){
$document = new KBContent();
$document->initWithUID($content_uid);
if($document->option->user_email_r && $board_id == '4'){
$phone_number = get_user_meta($content->member_uid, 'billing_phone', true);
if($phone_number){
if(strpos($phone_number, '+82') !== false){
$phone_number = str_replace('+82 ', '0', $phone_number);
}
$cosmosfarm_members_sms = get_cosmosfarm_members_sms();
$template = '1_register';
$replace_array = array(
'uid_k' => $content->uid
);
$cosmosfarm_members_sms->send_execute_alimtalk($phone_number, $template, $replace_array);
}
if(!class_exists('KBMail')){
include_once KBOARD_DIR_PATH . '/class/KBMail.class.php';
}
$url = new KBUrl();
$mail = new KBMail();
$mail->to = $document->option->user_email_r; // 이메일 필드 메타키
$mail->title = "【웹사이트】 새로운 신청서 등록 [PS1".$content->uid."]";
$mail->content = "<b>회원 ID: </b>".$content->member_display."<br>
<b>신청번호: </b>PS1".$content->uid."<br><b>주문상태: </b>신청서 확인 중<br><hr><br>안녕하세요 ".$content->member_display."님,<br><br>한글안내입니다<br><br>감사합니다!<br><br><i>웹사이트</i>";
$mail->url = $url->getDocumentRedirect($document->uid);
$mail->url_name = '신청서로 이동하기';
$mail->send();
}
}
add_action('kboard_pre_document_update', 'kboard_pre_document_update_210816', 10, 3);
function kboard_pre_document_update_210816($content_uid, $board_id, $content){
global $wpdb;
$user_email = get_userdata($content->row->member_uid)->user_email;
$pre_category2 = $wpdb->get_var("SELECT `category2` FROM {$wpdb->prefix}kboard_board_content WHERE `uid` = '{$content_uid}' ");
$category1 = $content->row->category1;
$category2 = $content->row->category2;
$document = new KBContent();
$document->initWithUID($content_uid);
if($content->category2 == '신청서 등록완료' && $board_id == '4'){
if(!class_exists('KBMail')){
include_once KBOARD_DIR_PATH . '/class/KBMail.class.php';
}
$url = new KBUrl();
$mail = new KBMail();
$mail->to = get_option('admin_email');
$mail->title = "구매대행 신청서 수정 [PS1".$content->uid."]";
$mail->content = "<b>회원ID: </b>".$content->member_display."<br>
<b>신청번호: </b>PS1".$content->uid."<br><b>주문상태: </b>신청서 수정<br><hr><br>";
$mail->url = $url->getDocumentRedirect($document->uid);
$mail->url_name = '신청서로 이동하기';
$mail->send();
}
if($content->category2 == '수정중인 신청서' && $board_id == '4'){
if(!class_exists('KBMail')){
include_once KBOARD_DIR_PATH . '/class/KBMail.class.php';
}
$url = new KBUrl();
$mail = new KBMail();
$mail->to = get_option('admin_email');
$mail->title = "구매대행 신청서 수정완료 [PS1".$content->uid."]";
$mail->content = "<b>회원ID: </b>".$content->member_display."<br>
<b>신청번호: </b>PS1".$content->uid."<br><b>주문상태: </b>신청서 수정완료<br><hr><br>";
$mail->url = $url->getDocumentRedirect($document->uid);
$mail->url_name = '신청서로 이동하기';
$mail->send();
}
if($content->category2 == '취소/반려' && $board_id == '4'){
$phone_number = get_user_meta($content->member_uid, 'billing_phone', true);
if($phone_number){
if(strpos($phone_number, '+82') !== false){
$phone_number = str_replace('+82 ', '0', $phone_number);
}
$cosmosfarm_members_sms = get_cosmosfarm_members_sms();
$template = '1_cancel';
$replace_array = array(
'uid_k' => $content->uid,
'ems_tracking_k' => $content->option->tracking_pp_ems
);
$cosmosfarm_members_sms->send_execute_alimtalk($phone_number, $template, $replace_array);
}
if(!class_exists('KBMail')){
include_once KBOARD_DIR_PATH . '/class/KBMail.class.php';
}
$url = new KBUrl();
$mail = new KBMail();
$mail->to = $user_email;
$mail->title = "【웹사이트】 신청서 취소/반려 안내 [PS1".$content->uid."]";
$mail->content = "<b>회원 ID: </b>".$content->member_display."<br>
<b>신청번호: </b>PS1".$content->uid."<br><b>주문상태: </b>취소/반려<br><hr><br>한글안내입니다<br><br>감사합니다.<br><br><i>웹사이트</i>";
$mail->url = $url->getDocumentRedirect($document->uid);
$mail->url_name = '신청서 이동하기';
$mail->send();
}
if($content->category2 == '【상품】 결제요청' && $board_id == '4'){
$phone_number = get_user_meta($content->member_uid, 'billing_phone', true);
if($phone_number){
if(strpos($phone_number, '+82') !== false){
$phone_number = str_replace('+82 ', '0', $phone_number);
}
$cosmosfarm_members_sms = get_cosmosfarm_members_sms();
$template = '1_buying_payment';
$replace_array = array(
'uid_k' => $content->uid,
'item_payment_k' => $content->option->item_price_email
);
$cosmosfarm_members_sms->send_execute_alimtalk($phone_number, $template, $replace_array);
}
if(!class_exists('KBMail')){
include_once KBOARD_DIR_PATH . '/class/KBMail.class.php';
}
$url = new KBUrl();
$mail = new KBMail();
$mail->to = $user_email;
$mail->title = "【웹사이트】 결제대기 안내 [PS1".$content->uid."]";
$mail->content = "<b>회원 ID: </b>".$content->member_display."<br>
<b>신청번호: </b>PS1".$content->uid."<br><b>주문상태: </b>결제대기<br><hr><br>한글안내입니다<br><br>감사합니다,<br><br><i>웹사이트</i>";
$mail->url = $url->getDocumentRedirect($document->uid);
$mail->url_name = '신청서 이동하기';
$mail->send();
}
if($content->category2 == '상품 완료' && $board_id == '4'){
$phone_number = get_user_meta($content->member_uid, 'billing_phone', true);
if($phone_number){
if(strpos($phone_number, '+82') !== false){
$phone_number = str_replace('+82 ', '0', $phone_number);
}
$cosmosfarm_members_sms = get_cosmosfarm_members_sms();
$template = '1_purchased';
$replace_array = array(
'uid_k' => $content->uid
);
$cosmosfarm_members_sms->send_execute_alimtalk($phone_number, $template, $replace_array);
}
if(!class_exists('KBMail')){
include_once KBOARD_DIR_PATH . '/class/KBMail.class.php';
}
$url = new KBUrl();
$mail = new KBMail();
$mail->to = $user_email;
$mail->title = "【웹사이트】 상품 완료 안내 [PS1".$content->uid."]";
$mail->content = "<b>회원 ID: </b>".$content->member_display."<br>
<b>신청번호: </b>PS1".$content->uid."<br><b>주문상태: </b>상품 구매완료<br><hr><br>한글안내입니다<br>감사합니다,<br><br><i>웹사이트</i>";
$mail->url = $url->getDocumentRedirect($document->uid);
$mail->url_name = '신청서 이동하기';
$mail->send();
}
if($content->category2 == '【상품】 안내' && $board_id == '4'){
$phone_number = get_user_meta($content->member_uid, 'billing_phone', true);
if($phone_number){
if(strpos($phone_number, '+82') !== false){
$phone_number = str_replace('+82 ', '0', $phone_number);
}
$cosmosfarm_members_sms = get_cosmosfarm_members_sms();
$template = '1_allarrive';
$replace_array = array(
'uid_k' => $content->uid
);
$cosmosfarm_members_sms->send_execute_alimtalk($phone_number, $template, $replace_array);
}
if(!class_exists('KBMail')){
include_once KBOARD_DIR_PATH . '/class/KBMail.class.php';
}
$url = new KBUrl();
$mail = new KBMail();
$mail->to = $user_email;
$mail->title = "【웹사이트】 상품 안내 [PS1".$content->uid."]";
$mail->content = "<b>회원 ID: </b>".$content->member_display."<br>
<b>신청번호: </b>PS1".$content->uid."<br><b>주문상태: </b>모든 상품<br><hr><br>한글안내입니다<br><br>감사합니다,<br><br><i>웹사이트</i>";
$mail->url = $url->getDocumentRedirect($document->uid);
$mail->url_name = '신청서 이동하기';
$mail->send();
}
if($content->category2 == '【운임】 요청' && $board_id == '4'){
$phone_number = get_user_meta($content->member_uid, 'billing_phone', true);
if($phone_number){
if(strpos($phone_number, '+82') !== false){
$phone_number = str_replace('+82 ', '0', $phone_number);
}
$cosmosfarm_members_sms = get_cosmosfarm_members_sms();
$template = 'waitingshipping';
$replace_array = array(
'uid_k' => $content->uid,
'ems_cost' => $content->option->ems_price_email,
'dhl_cost' => $content->option->dhl_price_email,
'fdx_cost' => $content->option->fdx_price_email
);
$cosmosfarm_members_sms->send_execute_alimtalk($phone_number, $template, $replace_array);
}
if(!class_exists('KBMail')){
include_once KBOARD_DIR_PATH . '/class/KBMail.class.php';
}
$url = new KBUrl();
$mail = new KBMail();
$mail->to = $user_email;
$mail->title = "【웹사이트】 운임대기 안내 [PS1".$content->uid."]";
$mail->content = "<b>회원 ID: </b>".$content->member_display."<br>
<b>신청번호: </b>PS1".$content->uid."<br><b>주문상태: </b>대기<br><hr><br>한글안내입니다<br><br>감사합니다,<br><br><i>웹사이트</i>";
$mail->url = $url->getDocumentRedirect($document->uid);
$mail->url_name = '신청서 이동하기';
$mail->send();
}
if(($content->category1 == '발송' && $content->category2 == '완료') && $board_id == '4'){
$phone_number = get_user_meta($content->member_uid, 'billing_phone', true);
if($phone_number){
if(strpos($phone_number, '+82') !== false){
$phone_number = str_replace('+82 ', '0', $phone_number);
}
$cosmosfarm_members_sms = get_cosmosfarm_members_sms();
$template = '1_shipped_ems';
$replace_array = array(
'uid_k' => $content->uid,
'ems_tracking_k' => $content->option->tracking_pp_ems
);
$cosmosfarm_members_sms->send_execute_alimtalk($phone_number, $template, $replace_array);
}
if(!class_exists('KBMail')){
include_once KBOARD_DIR_PATH . '/class/KBMail.class.php';
}
$url = new KBUrl();
$mail = new KBMail();
$mail->to = $user_email;
$mail->title = "【웹사이트】 발송 안내 [PS1".$content->uid."]";
$mail->content = "<b>회원 ID: </b>".$content->member_display."<br>
<b>신청번호: </b>PS1".$content->uid."<br><b>주문상태: </b>발송<br><hr><br>한글안내입니다<br><br>감사합니다,<br><br><i>웹사이트</i>";
$mail->url = $url->getDocumentRedirect($document->uid);
$mail->url_name = '신청서 이동하기';
$mail->send();
}
if(($content->category1 == 'DHL' && $content->category2 == '완료') && $board_id == '4'){
$phone_number = get_user_meta($content->member_uid, 'billing_phone', true);
if($phone_number){
if(strpos($phone_number, '+82') !== false){
$phone_number = str_replace('+82 ', '0', $phone_number);
}
$cosmosfarm_members_sms = get_cosmosfarm_members_sms();
$template = '1_shipped_dhl';
$replace_array = array(
'uid_k' => $content->uid,
'dhl_tracking_k' => $content->option->tracking_pp_dhl
);
$cosmosfarm_members_sms->send_execute_alimtalk($phone_number, $template, $replace_array);
}
if(!class_exists('KBMail')){
include_once KBOARD_DIR_PATH . '/class/KBMail.class.php';
}
$url = new KBUrl();
$mail = new KBMail();
$mail->to = $user_email;
$mail->title = "【웹사이트】 발송 안내 [PS1".$content->uid."]";
$mail->content = "<b>회원 ID: </b>".$content->member_display."<br>
<b>신청번호: </b>PS1".$content->uid."<br><b>주문상태: </b>발송<br><hr><br>한글안내입니다<br><br>감사합니다,<br><br><i>웹사이트</i>";
$mail->url = $url->getDocumentRedirect($document->uid);
$mail->url_name = '신청서 이동하기';
$mail->send();
}
}
예를 들어 첫번째 add_action 부분을 아래와 같이 (코딩은 틀린거 같습니다.) 변경 주시면 될거 같습니다.
한글이 있던 부분에 ENGLISH 라 적어 놓았습니다.
add_action('kboard_comments_pre_delete', 'kboard_comments_pre_delete_2020_01_02', 10, 3);
function kboard_comments_pre_delete_2020_01_02($comment_uid, $content_uid, $board){
global $wpdb;
$lang_EN = get_user_meta($user_id, 'lang_EN ', true);
if($lang_EN ){
if(!$board->isAdmin() && in_array($board->id, array('4', '5'))){ // 실제 게시판 id로 적용해주세요.
$results = $wpdb->get_results("SELECT * FROM `{$wpdb->prefix}kboard_comments` WHERE `parent_uid`='{$comment_uid}'");
if($results){
die("<script>alert('ENGLISH');window.close();</script>");
}
}
}else{}
if(!$board->isAdmin() && in_array($board->id, array('4', '5'))){ // 실제 게시판 id로 적용해주세요.
$results = $wpdb->get_results("SELECT * FROM `{$wpdb->prefix}kboard_comments` WHERE `parent_uid`='{$comment_uid}'");
if($results){
die("<script>alert('답글이 달린 경우 기록 보관을 위해 삭제 불가합니다.');window.close();</script>");
}
}
}
}
감사합니다.
프로젝트 의뢰인과 댓글 작성자 본인만 볼 수 있습니다.