MW WP Formの添付画像について
-
こんにちは
mwform_auto_mail_raw_mw-wp-form-{$key}({$key} はフォーム識別子のキー)フィルターフックで、自動返信メールの内容をカスタマイズすることができます。
詳細は下記ページをご覧ください。
https://plugins.2inc.org/mw-wp-form/filter-hook/mwform_auto_mail_raw/{キー} が展開された後の内容をカスタマイズする mwform_auto_mail_mw-wp-form-{$key} フィルタフックもあります。
https://plugins.2inc.org/mw-wp-form/filter-hook/mwform_auto_mail/メール本文のファイルのキーをファイル名に置換する場合の例:
function my_mail( $mail_raw, $values, $data ) { foreach ( $values['mwf_files'] as $key => $file ) { $mail_raw->body = str_replace( "{{$key}}", $file['name'], $mail_raw->body ); } return $mail_raw; } add_filter( 'mwform_auto_mail_raw_mw-wp-form-123', 'my_mail', 10, 3 );
- この返信は6年、 5ヶ月前にishitakaが編集しました。
ishikawa様
詳しいコードを教えてくださり、ありがとうございます。
こちらを参考にし、functionsに記述してみたのですが、画像URLのままでした…
画像を6枚送れる様になっているのでfunction my_mail( $mail_raw, $values, $data ) { foreach ( $values['mwf_files'] as $key => $file ) { $mail_raw->body = str_replace( "{{$yourphoto01}}", $file['name'], $mail_raw->body ); $mail_raw->body = str_replace( "{{$yourphoto02}}", $file['name'], $mail_raw->body ); $mail_raw->body = str_replace( "{{$yourphoto03}}", $file['name'], $mail_raw->body ); $mail_raw->body = str_replace( "{{$yourphoto04}}", $file['name'], $mail_raw->body ); $mail_raw->body = str_replace( "{{$yourphoto05}}", $file['name'], $mail_raw->body ); $mail_raw->body = str_replace( "{{$yourphoto06}}", $file['name'], $mail_raw->body ); } return $mail_raw; } add_filter( 'mwform_auto_mail_raw_mw-wp-form-150', 'my_mail', 10, 3 );
という形にしてみたのですが、記述方法が間違えておりますでしょうか。
もしかしたら({$key} はフォーム識別子のキー)の部分が間違えているのではないかと思っているのですが…ご教授いただければ幸いですm(_ _)m
自動返信メール設定の本文に画像の {キー} を記述していますか?
サンプルのコードは、{キー} をファイル名に置換するものです。
{キー} の置換ではなく本文に列記する場合は、下記のようなコードではどうでしょうか。function my_mail( $mail_raw, $values, $data ) { foreach ( $values['mwf_files'] as $key => $file ) { //$mail_raw->body = str_replace( "{{$key}}", $file['name'], $mail_raw->body ); $mail_raw->body .= $file['name'] . "\n"; } return $mail_raw; } add_filter( 'mwform_auto_mail_raw_mw-wp-form-150', 'my_mail', 10, 3 );
ishikata様
ご返信ありがとうございます。
自動返信メールにはお写真: {yourphoto01} {yourphoto02} {yourphoto03} {yourphoto04} {yourphoto05} {yourphoto06}
と記載しております。
今教えてくださったコードですと、
str_replace( "{{$key}}",
この部分を
str_replace( "{{$yourphoto01}}",
とするイメージとなりますでしょうか。
最初のコードと同じことなんですが・・・どうかしら?
function my_mail( $mail_raw, $values, $data ) { $mail_raw->body = str_replace( '{yourphoto01}', $values['mwf_files']['yourphoto01']['name'], $mail_raw->body ); $mail_raw->body = str_replace( '{yourphoto02}', $values['mwf_files']['yourphoto02']['name'], $mail_raw->body ); : return $mail_raw; } add_filter( 'mwform_auto_mail_raw_mw-wp-form-150', 'my_mail', 10, 3 );
ishitaka様
ありがとうございます。
いただいたコードを元にfunction my_mail( $mail_raw, $values, $data ) { $mail_raw->body = str_replace( '{yourphoto01}', $values['mwf_files']['yourphoto01']['name'], $mail_raw->body ); $mail_raw->body = str_replace( '{yourphoto02}', $values['mwf_files']['yourphoto02']['name'], $mail_raw->body ); $mail_raw->body = str_replace( '{yourphoto03}', $values['mwf_files']['yourphoto03']['name'], $mail_raw->body ); $mail_raw->body = str_replace( '{yourphoto04}', $values['mwf_files']['yourphoto04']['name'], $mail_raw->body ); $mail_raw->body = str_replace( '{yourphoto05}', $values['mwf_files']['yourphoto05']['name'], $mail_raw->body ); $mail_raw->body = str_replace( '{yourphoto06}', $values['mwf_files']['yourphoto06']['name'], $mail_raw->body ); return $mail_raw; } add_filter( 'mwform_auto_mail_raw_mw-wp-form-150', 'my_mail', 10, 3 );
としてみたところ、こちらに来る自動返信メールには画像URL記載、送った人側に届く自動返信メールの該当部分は空欄になる形になりました。
空欄でも良いかなとも思ったのですが、画像ファイル名を表示させる事が出来ればベストだなと思っております。何度も申し訳ございませんが、ご教授いただけます様お願い申し上げますm(_ _)m
画像ファイル名を表示させる事が出来ればベストだなと思っております。
最初のコードからそのようになるような処理なんですけどね・・・ちょっと分かりません。
では、下記のコードではどうでしょうか?function my_mail( $mail_raw, $values, $data ) { $images = array( 'yourphoto01', 'yourphoto02', 'yourphoto03', 'yourphoto04', 'yourphoto05', 'yourphoto06' ); foreach ( $images as $image ) { $image_url = $data->get( $image ); if ( $image_url ) { $parse_url = parse_url( $image_url ); $path = explode( '/', $parse_url['path']); $file_name = end( $path ); $mail_raw->body = str_replace( "{{$image}}", $file_name, $mail_raw->body ); } } return $mail_raw; } add_filter( 'mwform_auto_mail_raw_mw-wp-form-150', 'my_mail', 10, 3 );
- トピック「MW WP Formの添付画像について」には新たに返信することはできません。