ワードプレスでECショップが構築できるWooCommerce(ウーコマース)で送信されるメールは注文メール、発送メールなど数種類がありますが、メールの内容をカスタマイズしたい場面が多くあります。
なぜなら、WooCommerceは多くの人が使っているワードプレスのプラグインですが、元々海外のものなので日本人向けではない部分があります。注文の際や納品、発送の際にお客様に送られるメールですので、お客様にとって違和感のないメールを送りたいものです。
ここでは、WooCommerceの販売の際に送信されるメール内容のカスタマイズの方法を解説します。
WooCommerceが送信するメールの弱点
テスト注文したところ、メールに差し込まれる注文者の名前がファーストネームだけ表示されていることが分かりました。
下の例だと、本来「山田テスト」さんであるのに、標準のサンキューメールでは下の名前(ファーストネーム)しか表示されていません。これでは、少し日本人向けではありませんのでフルネームが表示されるようにしたいです。
WooCommerceのメール内容をカスタマイズする公式の方法
ダッシュボードのWooCommerceメニュー→設定→メールタブで各メールの一覧が表示されます。
リスト表示の一番下までスクロールすると、送信元の名前や送信メールアドレス、フッターテキストや色味を変更できます。
変更したいメールのメールテンプレートを変更する
内容を変更したいメールの「管理」ボタンを押します。
以下の例は「注文保留」メールの例ですが、件名やメールの見出し、コンテンツ文などは画面上で変更できます。
その他の項目について変更する場合は、直接メールテンプレートを変更します。
ワードプレスのインストールフォルダのテーマテンプレート内フォルダ/woocommerce/emails/以下にメールテンプレートのデータが入っています。
直接修正すると、WooCommerceがアップデートするたびに消えてしまうので、ファイルをコピーして使用します。
各メール管理画面の下の方に収納フォルダが記載されており、メールテンプレートのコピー&カスタマイズが可能です。
変更したいメールの「テーマにファイルをコピー」ボタンを押します。
コピーした後「テンプレートを表示」ボタンを押すと画面下にメールテンプレートの内容が表示されます。
PHPがベースになっているため、半角英数の文言が連なっていてガッツリカスタマイズするにはハードルが高いです。したがって、差し込みファイルを変更するくらいのカスタムにとどまることでしょう。
以下は、ファーストネームのみの表示をフルネームに変更するカスタマイズです。
テンプレート内で
first_name
になっている箇所を探します。
get_billing_first_name()
になっている部分を
get_formatted_billing_full_name()
に変更します。
大体その前にアスタリスクで囲まれたコメントに「Customer first name」という記載があるはずなのでカスタマイズしたことを残しておくために「Customer full name customized」などとしておくとわかりやすくなります。その際、必ず/*~*/のアスタリスクで囲まれた部分に記載すること。
<?php /* translators: %s: Customer first name */ ?>
<p><?php printf( esc_html__( 'Hi %s,', 'woocommerce' ), esc_html( $order->get_billing_first_name() ) ); ?></p>
<p><?php esc_html_e( 'Thanks for your order. It’s on-hold until we confirm that payment has been received.', 'woocommerce' ); ?></p>
↓
<?php /* translators: %s: Customer full name customized*/ ?>
<p><?php printf( esc_html__( 'Hi %s,', 'woocommerce' ), esc_html( $order->get_formatted_billing_full_name() ) ); ?></p>
<p><?php esc_html_e( 'Thanks for your order. It’s on-hold until we confirm that payment has been received.', 'woocommerce' ); ?></p>
テンプレートに手を加えると、テンプレートの下に表示される「変更を保存」のボタンがアクティブになるので、クリックして保存します。
このテンプレート内で日本語化されていなくても、実際に送信されるメールは日本語にローカライズされて送信されます。
メールテンプレートはHTMLメールとプレーンメールと2種類あります。どちらも変更したい場合は、一度メール形式を変更した後、それぞれのメールテンプレートを変更しましょう。HTMLメールとプレーンメールでは、収納フォルダが異なります。
WooCommerceのメール内容をカスタマイズできるプラグインでガッツリカスタマイズしたい人は(HTMLメール)
便利な方法として、WooCommerce他、お問合せメールなどもカスタマイズできるプラグインがあります。
EmailKit
EmailKit(イーメールキット)は、ワードプレスとWooCommerceのメールカスタマイザーツールです。ブロックエディタのような仕様でドラックアンドドロップで視覚的に操作できます。
主にHTMLメールを作りたい人に向いています。(「管理」からメール形式を「プレーン」に変更しても、EmailKitのテンプレートステータスがアクティブになっている限りHTMLメールになります。)
Spectraや他のプラグインと干渉があるようで、有効化や保存をするとエラーになることがありました。どちらかが更新すれば修正されるかもしれませんが、環境によってはPHPエラーになる可能性もあります。
1.EmailKitをインストール&有効化します。
2.有効化するとダッシュボードのメニューに「EmailKit」ができます。
「All Emails」から画面上に「Add New Email」ボタンを押すことで新しいテンプレートを作れますが・・
EmailKitを有効化した後、WooCommerceメニュー→設定→メールタブを開くと、すでに紐づけされていてボタンが表示されます。こちらの画面からカスタマイズした方がどのメールを編集しているか分かりやすいかもしれません。
3.カスタマイズしたいメール隣の「Edit With EmailKit」ボタンを押します。ここでは、お客様に送信するメールをカスタマイズしていきます。
名前の差し込みはショートコードを使っていきます。
入れ込みたい場所に「Text」ブロックをスライドしていきます。
ContensのText内に名前を差し込むには[billing_name]を使うと差し込まれます。
[billing_name]
[billing_name]さん、ご購入ありがとうございます!
などとすると、フルネームが差し込みされます。
エディター上に表示されているショートコードアイコン[/]をクリックすると
使用可能なショートコードが表示され、その場でコピーをして差し込みすることも可能です。
EmailKitの返信メールに差し込めるショートコード
ショートコード一覧を見ると大体どんな要素が差し込みされるか、理解できると思いますが、お客様の名前や注文商品、注文日など多くを差し込みできます。
EmailKitを使ったメールカスタマイズの注意点
EmailKitを使うと、視覚的に操作ができ、要素の並べ替えや差し込みが簡単にできます。
しかし、注意点がいくつかあります。
日本語化されていないのでテンプレートの表記をすべて日本語にする必要がある
元々のWooCommerceのHTMLテンプレートを元にしているわけではなく(デザインは似ている)、あくまでEmailKitのオリジナルHTMLメールを土台にするため、日本語化されていません。
例えば、メールヘッダー部分や表組の中で英語表記が残っている場合がある。
それら一つ一つを日本語に直す手間はあるし、ブロックの中に組み込まれている要素すべてを日本語にするためには、メール内容のカスタマイズ以上の手間がかかる可能性もあります。
したがって、カスタマイズの程度によっては、WooCommerce側のHTMLテンプレートを読み込んだ方が早いという可能性もあります。
凝った作りにすると重いメールになったり迷惑メール判定される可能性がある
EmailKitはあくまでHTMLメールのカスタマイズなので、送信メールがHTML型になります。
しかし、日本ではHTMLメールは迷惑メールフォルダに入ることが多く、スマホでメールを受信する場合、容量の大きいHTMLは歓迎されない場合もあります。
EmailKitは画像も簡単に挿入できるので、凝りたくなってきますが、あまりにも要素の多いHTMLメールは読み込みに時間がかかったりするので、やりすぎ注意ともいえます。
他のプラグインと干渉する場合がある
当初、EmailKitを通常通りインストールして有効化する際、エラー画面になりました。
エラー画面を解析すると、グーテンブルグ用のブロックエディタプラグインの「Spectra」と干渉をするようなメッセージでした。EmailKitとSpectraは別の会社のプラグインですが、「Spectra」を無効化することでEmailKitを使うことができましたが、ブロックエディタにおいて「Spectra」をよく使うので、永遠に使わないというわけにもいかず・・。
ただ、再度EmailKitを無効化したり、再インストールをしたり、することでエラーは出なくなったので、絶対的に「Spectra」との相性が悪いのか、とも言い難いのですが、このように他のプラグインとの干渉でエラーが出たり、使えないという可能性もゼロというわけではない、といえます。
今回のSpectraだけではなく、他のブロックエディタ系のプラグインなどでも起こり得る、ということです。
特にメールを稼働中の状態で、新しいプラグインを入れてエラーになってしまったら、急に使えなくなるという事態も起こり得るので注意が必要です。
コメント