カスタム・メンバーフィールドの値をメール送信
-
投稿者投稿
-
2015年9月6日 7:14 PM #75615weltk参加者
——————————————-
WordPress のバージョン:4.3
Welcart のバージョン:1.4.21
ご利用のテーマ:自作テーマ
症状を確認したブラウザ:Google Chrome
サーバー(会社名、サービス名):Xserver
SSLの利用:無し
WordPress のパーマリンク設定:/%post_id%/
——————————————–【要 望:会員登録した際の自動送信メールに会員情報を全て記載して送信したい】
よろしくお願いします。
会員登録の際に下記の3つの項目をカスタムメンバーフィールドで追加しました。
————————————————
フィールドキー | 出力HTMLタイプ
・nickname |(input type=”text”)
・mailmaga |(select)
・email_sub |(input type=”text”)
————————————————そこで会員登録が完了した後に送られてくるメールだと、
・会員番号
・名前
・メールアドレス
の3つしか会員に送信されないため、これを変更したく、
名前、住所、電話番号など全てを送信したく下記のフックを行いました。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
add_filter(‘usces_filter_send_regmembermail_message’,’my_send_regmembermail_message’,10,2);
function my_send_regmembermail_message(){
global $usces;
$args = func_get_args();
$mail_data = $usces->options[‘mail_data’];
$user = $args[1];
var_dump($user);
$message = $mail_data[‘header’][‘membercomp’];
$message .= “\n\n”;
$message .= ‘●会員番号:’.trim($user[‘ID’]).”\n”;
$message .= ‘●お 名 前:’.trim($user[‘name1′]).’ ‘.trim($user[‘name2’]).”\n”;
$message .= ‘●フリガナ:’.trim($user[‘name3′]).’ ‘.trim($user[‘name4’]).”\n”;
$message .= ‘●ニックネーム:’.trim($user[‘csmb_nickname’]).”\n”;
$message .= ‘●郵便番号:’.trim($user[‘zipcode’]).”\n”;
$message .= ‘●住 所:’.trim($user[‘address1’]).trim($user[‘address2’]).trim($user[‘address3’]).”\n”;
$message .= ‘●電話番号:’.trim($user[‘tel’]).”\n”;
$message .= ‘●メルマガを受け取るせ:’.trim($user[‘csmb_mailmaga’]).”\n”;
$message .= ‘●メールアドレス(メイン):’.trim($user[‘mailaddress1’]).”\n”;
$message .= ‘●メールアドレス(サ ブ):’.trim($user[‘csmb_email_sub’]).”\n”;
$message .= “\n\n”;
$message .= $mail_data[‘footer’][‘membercomp’];
return $message;
}
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー住所や電話番号などデフォルトの情報は全て出力できました。
しかし、ニックネームやメルマガを受け取るなど、カスタム・メンバーフィールドの値だけが
出力されません。【試した事】
global $usces;
$member_id = usces_memberinfo(‘ID’,’return’);
$name_rf = $usces -> get_member_meta_value(‘csmb_nickname’,$member_id);会員情報の編集のページでは上記で出力できたので、できるかと思いましたができませんでした。。。
会員登録した際にカスタム・メンバーフィールドを出力してメールで送信する方法を
ご存知の方がいればご教授いただけないでしょうか?なお、SQL文はあまり知識がないため、避けたいと思っております(わがまますいません!)
2015年9月7日 11:32 AM #75628nanbuキーマスターこんにちは。
usces_memberinfo()で取得されるのはmember_idでは無く、メンバー情報が格納された配列です。従いまして以下のようにしていただくと良いかと思います。
$member_info = usces_memberinfo(‘ID’,’return’); $member_id = $membert_info['ID'];
2015年9月7日 1:07 PM #75633weltk参加者nanbu様
ご返信ありがとうございます。
つきましては、下記の様にしてみました。add_filter(‘usces_filter_send_regmembermail_message’,’my_send_regmembermail_message’,10,2);
function my_send_regmembermail_message(){
global $usces;
$member_info = usces_memberinfo(‘ID’,’return’);
$member_id = $membert_info[‘ID’];
$nickname = get_member_meta_value(‘csmb_nickname’,$member_id);
$args = func_get_args();
$mail_data = $usces->options[‘mail_data’];
$user = $args[1];
var_dump($user);
$message = $mail_data[‘header’][‘membercomp’];
$message .= “\n\n”;
$message .= “————————————————————————————\n”;
$message .= ‘●会員番号:’.trim($user[‘ID’]).”\n”;
$message .= ‘●お 名 前:’.trim($user[‘name1′]).’ ‘.trim($user[‘name2’]).”\n”;
$message .= ‘●フリガナ:’.trim($user[‘name3′]).’ ‘.trim($user[‘name4’]).”\n”;
$message .= ‘●ニックネーム:’.$nickname.”\n”;
$message .= ‘●郵便番号:’.trim($user[‘zipcode’]).”\n”;
$message .= ‘●住 所:’.trim($user[‘address1’]).trim($user[‘address2’]).trim($user[‘address3’]).”\n”;
$message .= ‘●電話番号:’.trim($user[‘tel’]).”\n”;
$message .= ‘●メルマガを受け取る:’.trim($user[‘csmb_mailmaga’]).”\n”;
$message .= ‘●メールアドレス(メイン):’.trim($user[‘mailaddress1’]).”\n”;
$message .= ‘●メールアドレス(サ ブ):’.trim($user[‘csmb_email_sub’]).”\n”;
$message .= “————————————————————————————\n”;
$message .= “\n\n”;
$message .= $mail_data[‘footer’][‘membercomp’];
return $message;
}結果エラーがでます。
下記がエラーメッセージです。
Fatal error: Call to undefined function get_member_meta_value() inまた、まずはニックネームだけを出力してみようと思い下記の方法で試してみましたが
やはり、カスタム・メンバーフィールドの値は
出力できません(メール送信すると空)$message .= ‘●ニックネーム:’.trim($user[‘csmb_nickname’]).”\n”;
どうすればカスタムメンバーフィールドの値を、
会員登録完了の自動送信メールに含める事ができるでしょうか?
ご教授よろしくお願い致します。2015年9月15日 11:58 AM #75711nanbuキーマスター大変失礼いたしました。
前回のレスを訂正させていただきます。メンバーIDを取得するにはこちらで大丈夫です。混乱させてしまって済みません。
$member_id = usces_memberinfo(‘ID’,’return’);
get_member_meta_value() ですが、こちらは$uscesのメンバー関数ですので、$usces->get_member_meta_value として下さい。
-
投稿者投稿
- このトピックに返信するにはログインが必要です。