ダミー

WooCommerceのメールをカスタマイズ text/plain

2018年7月2日

WordPressでECサイトが作れるプラグインWooCommerceで、注文時や出荷時にWooCommerceから自動送信されるメールのカスタマイズ方法、特に日本のECサイトでご希望の多いテキストメールのカスタマイズを中心にご紹介します。基本的にはHTMLメール、テキストメールどちらでもカスタマイズ方法は同じです。
当記事の環境:WooCommerceバージョン 3.4.3 + WooCommerce For Japanバージョン 1.2.21

どのメールがどんなタイミングで送信されるかはこちら

メール全般の設定

まず、WooCommerceで準備されているメールの設定を見てみましょう。メールの設定は、WooCommerce > 設定 で[メール]タブを選択します。

WooCommerceメール設定

メール設定画面の下の方にある「メール送信者オプション」と「Eメールテンプレート」は各メール共通の設定です。

メール毎の設定

メール毎の個別設定はメールの名称(「新規注文」など)、または右端の[設定]ボタンをクリックします。

WooCommerce個別メール設定

  1. 受信者 (複数可):メールの送信先(To)のメールアドレス
  2. 件名:メールの件名(タイトル、Subject)
  3. メールヘッダー:メール本文の1行目に記載される「= xxxxxxx =」のxxxxx部分
  4. メールの種類:テキストメール/HTMLメール/マルチパートから選択します。WooCommerceのデフォルトはHTMLメールです。

メールテンプレートを編集する

メールテンプレートを使用テーマにコピーする

メールの個別設定画面の一番下にある「テキストメールテンプレート」で[テーマにファイルをコピー]をクリックすると、テキストメールのテンプレートが
.../使用テーマのディレクトリ/woocommerce/emails/plain/
にコピーされます。(メールの種類:テキストメールの場合)

WooCommerceメールテンプレート

メールテンプレートの編集

では、コピーされたメールテンプレートをダウンロードして編集しましょう。

任意の位置に書き出したい文字列を挿入できます。

echo ”挿入したい文字列” ;

え!、私が編集したい箇所には英語の文章書いてあるんですけど…

echo sprintf( __( 'You have received an order from %s.', 'woocommerce' ), $order->get_formatted_billing_full_name() ) . "\n\n";

でも、実際に送信されるメールは日本語…どういうこと??

例えば上の「You have received an order from」部分は日本語で送られていますね。つまり、英日対応翻訳をしているファイルがあるのです。

翻訳ファイルの編集

翻訳ファイルの場所とコピー

翻訳ファイルは
.../wp-content/languages/plugins/
にあります。
このディレクトリを見ると、拡張子.poと.moのファイルがセットであることがわかります。.po?.mo?何それ?聞き慣れない拡張子ですね。.poがテキストファイル、.moがバイナリファイルです。

今回編集したいメールテンプレートの翻訳ファイルは、「woocommerce-ja.po」「woocommerce-ja.mo」です。

編集する前に「plugins」と同じ階層に「woocommerce」というディレクトリを作り、そこにファイルをコピーしてください。「plugins」にあるファイルを直接編集すると、アップデートのときに上書きされてしまいます。

.poファイルの編集

.poファイルは普通のエディタで開けますので、使い慣れたテキストエディタで編集可能です。後述のPoeditでも編集できます。

エディタの検索機能などを使い編集したい箇所を見つけます。

msgid "You have received an order from %s. The order is as follows:"
msgstr "%s様からのご注文を受けました。注文内容は以下です:"

必要に応じて、この日本語部分を編集します。

.moファイルに変換

次に、編集した.poファイルを、.moファイルにコンパイル(変換)します。ここではPoeditというアプリケーションを使います。名前は間抜けな感じがしますが、賢いお仕事をしてくれます。Poeditは以下からダウンロードできます。

Poedit

Poeditがインストール出来たら、woocommerce-ja.poを開き、ファイル > MOにコンパイル を選択します。

Poedit MOにコンパイル

以上が終われば「woocommerce」ディレクトリ(フォルダ)ごとサーバーにアップロードします。アップロード後サーバーの・・・/wp-content/languages/は次のようになっています。

/wp-content/languages/

参考サイト

当記事では以下のサイト参照いたしました。制作者に感謝いたします。

WooCommerce の日本語訳を修正したい!アップデートでも消えないディレクトリは?

どのメールがどんなタイミングで送信されるかはこちら

Poeditダウンロードページ

当記事を参考にカスタマイズしたメールテンプレートが、アップデートしたときに「有効期限が切れています」と警告が出た場合の対処法はこちら