2018.04.25
WordPress
Easy Digital Downloadsの自動送信メールを設定する
Easy Digital Downloadsの自動送信メールの設定方法を紹介します。
最初から動的に自動送信メールに定型文などを出力する「Eメールタグ」が用意されているのでそれの使い方や、独自のEメールタグの追加方法などを紹介します。
まずお客様へ届く自動返信メールは「ダウンロード>設定>メール>Purchase Receipts」と辿ると設定ができます。
運営者に届く購入通知メールは「ダウンロード>設定>メール>New Sale Notifications」と辿ると設定ができます。
一部翻訳が行き届いていない部分もあるので解説すると、Purchase Receiptsの「購入メール件名」はお客様が受け取る自動返信メールの件名です。
「Purchase Email Heading」は自動返信メールの見出しです。
「レシート」は自動返信メールの本文です。いずれの箇所も後ほど紹介するEメールタグが使用できます。
次に、New Sale NotificationsのSale Notification Subjectは購入通知メールの件名、
「Purchase Email Heading」は購入通知メールの見出しです。
「Sale Notification」は購入通知メールの本文です。こちらも自動返信メールと同様、Eメールタグが使用できます。
Eメールタグの使い方
Eメールタグの使い方は非常に簡単です。下記のようにメールの挿入したい箇所にEメールタグを記述するだけです。
Eメールタグの記述例
{fullname} 様 この度は当サイトをご利用いただきありがとうございます。 お買い上げ内容は以下のとおりです。 ご注文日 : {date} ご注文ナンバー : {payment_id} お支払い方法 : {payment_method} {download_list} 合計金額 : {price}(税込)
使用できるEメールタグ
Eメールタグは初期から以下のようなタグが用意されています。
初期のタグのみで基本的なメールの設定は可能です。
{download_list} - ご購入プロダクトのダウンロードリンクのリスト {file_urls} - 購入されたダウンロードプロダクトの URL のテキスト型リスト {name} - 購入者の名前 {fullname} - 購入者のフルネーム、氏名 {username} - もし購入者が登録ユーザーである場合のユーザーネーム {user_email} - 購入者のメールアドレス {billing_address} - 購入者の住所 {date} - ご購入日 {subtotal} - 税抜価格 {tax} - 税金適用額 {price} - 合計金額 {payment_id} - この支払いに与えられる固有のIDナンバー {receipt_id} - このレシート用の固有のIDナンバー {payment_method} - この買物に対する決済方法 {sitename} - 本サイト名 {receipt_link} - ユーザーがブラウザで正常にレシートを閲覧できない時の為のレシート閲覧用のリンクを追加します。 {discount_codes} - 割引コード {ip_address} - 購入者のIPアドレス
Eメールタグの追加方法
このEメールタグは追加することも可能です。
追加する場合はfunction.phpに以下のように記述します。
初期で用意されているEメールタグで十分ではない場合は独自に設定をしてください。
function aaa() {#「aaa」は関数名。 #処理内容; } function edd_my_add_tags() { edd_add_email_tag( 'bbb', 'Eメールタグの説明文', 'aaa' ); #「bbb」は追加するEメールタグの名前、Eメールタグの説明文は管理画面に表示するEメールタグの説明文です。 } add_action( 'edd_add_email_tags', 'edd_my_add_tags' );
例えば初期で用意されている「download_list」というタグはダウンロードファイルへのリンク付きでメールが送信されます。
しかし、銀行振込などで決済処理が完了するまではこのリンクからアクセスしてもエラーが表示され、ダウンロードができません。
なので、自動返信メールではリンクなしでダウンロードリストを送りたい場合は「download_list」からリンクを削除して記載する必要があります。
その場合初期で用意されている「download_list」の関数を元に新しく関数を作ると非常に簡単に設定ができます。
初期で用意されている関数は「class-edd-email-tags.php」に記載されているので、これを元にリンクを外した新しい関数「download_list2」を設定する場合は
function.phpに以下のように記述します。
function edd_email_tag_download_list2( $payment_id ) { $payment = new EDD_Payment( $payment_id ); $payment_data = $payment->get_meta(); $download_list = '<ul>'; $cart_items = $payment->cart_details; $email = $payment->email; if ( $cart_items ) { $show_names = apply_filters( 'edd_email_show_names', true ); $show_links = apply_filters( 'edd_email_show_links', true ); foreach ( $cart_items as $item ) { if ( edd_use_skus() ) { $sku = edd_get_download_sku( $item['id'] ); } if ( edd_item_quantities_enabled() ) { $quantity = $item['quantity']; } $price_id = edd_get_cart_item_price_id( $item ); if ( $show_names ) { $title = '<strong>' . get_the_title( $item['id'] ) . '</strong>'; if ( ! empty( $quantity ) && $quantity > 1 ) { $title .= " – " . __( 'Quantity', 'easy-digital-downloads' ) . ': ' . $quantity; } if ( ! empty( $sku ) ) { $title .= " – " . __( 'SKU', 'easy-digital-downloads' ) . ': ' . $sku; } if( ! empty( $price_id ) && 0 !== $price_id ){ $title .= " – " . edd_get_price_option_name( $item['id'], $price_id, $payment_id ); } $download_list .= '<li>' . apply_filters( 'edd_email_receipt_download_title', $title, $item, $price_id, $payment_id ) . '<br/>'; } $files = edd_get_download_files( $item['id'], $price_id ); if ( ! empty( $files ) ) { foreach ( $files as $filekey => $file ) { if ( $show_links ) { $download_list .= '<div>'; $file_url = edd_get_download_file_url( $payment_data['key'], $email, $filekey, $item['id'], $price_id ); $download_list .= edd_get_file_name( $file ); $download_list .= '</div>'; } else { $download_list .= '<div>'; $download_list .= edd_get_file_name( $file ); $download_list .= '</div>'; } } } elseif ( edd_is_bundled_product( $item['id'] ) ) { $bundled_products = apply_filters( 'edd_email_tag_bundled_products', edd_get_bundled_products( $item['id'], $price_id ), $item, $payment_id, 'download_list' ); foreach ( $bundled_products as $bundle_item ) { $download_list .= '<div class="edd_bundled_product"><strong>' . get_the_title( $bundle_item ) . '</strong></div>'; $download_files = edd_get_download_files( edd_get_bundle_item_id( $bundle_item ), edd_get_bundle_item_price_id( $bundle_item ) ); foreach ( $download_files as $filekey => $file ) { if ( $show_links ) { $download_list .= '<div>'; $file_url = edd_get_download_file_url( $payment_data['key'], $email, $filekey, $bundle_item, $price_id ); $download_list .= edd_get_file_name( $file ); $download_list .= '</div>'; } else { $download_list .= '<div>'; $download_list .= edd_get_file_name( $file ); $download_list .= '</div>'; } } } } else { $no_downloads_message = apply_filters( 'edd_receipt_no_files_found_text', __( 'No downloadable files found.', 'easy-digital-downloads' ), $item['id'] ); $no_downloads_message = apply_filters( 'edd_email_receipt_no_downloads_message', $no_downloads_message, $item['id'], $price_id, $payment_id ); if ( ! empty( $no_downloads_message ) ){ $download_list .= '<div>'; $download_list .= $no_downloads_message; $download_list .= '</div>'; } } if ( '' != edd_get_product_notes( $item['id'] ) ) { $download_list .= ' — <small>' . edd_get_product_notes( $item['id'] ) . '</small>'; } if ( $show_names ) { $download_list .= '</li>'; } } } $download_list .= '</ul>'; return $download_list; } function edd_my_add_tags() { edd_add_email_tag( 'download_list2', 'リンクなしのご購入プロダクトのリスト', 'edd_email_tag_download_list2' ); } add_action( 'edd_add_email_tags', 'edd_my_add_tags' );
Eメールタグをカスタマイズするにはある程度の専門知識は必要になりますが、細かく設定することが可能です。
参考にしてみてください。