WooCommerceのメールの内容をカスタマイズします。
海外のプログラムなので、ところどころで日本の文化に合わない箇所があります。代表的なのが、名前(下の名前) 様と出力されます。日本では苗字+様が望ましいのでテンプレートを修正する方法をシェアします。
もう1つは、メールの金額に何故か表示されない\(円マーク)の代わりに〇〇円を付ける方法をChat GTPに導いてもらいましたので、シェアします。
環境
私の環境は下記の通りです。カスタマイズには関係ありませんが、参考まで。
- WordPress
- Woocommerce プラグイン
- テーマ Arkhe 子テーマを利用
- Arkhe Wookit (良い感じに調整するプラグイン)
カスタマイズ性が抜群!Arkhe Blocks Pro/Arkhe Toolkit/Arkhe CSS Editorがセットになっている1年間アップデート出来ます。
テンプレートの準備
管理画面 → 設定 → メール の中から修正したいメールを選択
例:注文保留 (メール形式:プレーンテキスト)
スクロールして、下にある「テーマにファイルをコピー」をクリック
今回は注文保留なので、customer-on-hold-order.phpが子テーマ内にコピーされました。
子テーマ/woocommerce/emails/plain/ フォルダを作成し、customer-on-hold-order.php を置きます。それを修正します。
修正したいテンプレートを上記の要領でコピーし、編集する流れです。
名前の修正
get_billing_first_nameを、get_billing_last_nameに書き換える
他のテンプレートも同様に修正します。
echo sprintf( esc_html__( 'Hi %s,', 'woocommerce' ), esc_html( $order->get_billing_last_name() ) ) . "\n\n";
円を付ける
ここで、設定すれば本来は円マークが付くはずなのですが、何をやってもいう事をききません。円マークは文字化けの恐れもありますので、漢字の「円」を付ける事にします。
WooCommerce → 設定 → 一般 → 通貨オプション
日本円 / 右に設定
子テーマのfunction.phpに追記します。
//メールに円(忘れず右に設定する)
function my_woo_currency_yen( $currency_symbol, $currency ) {
if ( 'JPY' == $currency ) {
return '円';
} else {
return $currency_symbol;
}
}
add_filter( 'woocommerce_currency_symbol', 'my_woo_currency_yen', 10, 2 );
コメント ※ハンドルネームでお願いします
コメント一覧 (2件)
PHPがわからないのでものすごく助かりました!
役立つ記事をありがとうございます✨
こんにちは。お役にたてて嬉しいです。