概要
woocommerce_email_format_string_replace
は、WooCommerceが送信するメールの内容を変更する際に使用されるフィルターフックです。このフィルターは、メールテンプレート内のプレースホルダーや特定の文字列を置き換えることができます。具体的には、以下のような機能を実装する際によく使用されます。
- メール内の特定の文言をカスタマイズする
- 挨拶文や結び文をパーソナライズする
- 注文情報や顧客情報を動的に表示する
- 特定の条件に基づいてメール内容を変更する
- HTML形式のメールにカスタムスタイルを適用する
- 統計やトラッキング用のリンクを追加する
構文
add_filter('woocommerce_email_format_string_replace', 'your_custom_function', 10, 2);
パラメータ
$format_string
(string): 置き換え前のフォーマット文字列$order
(object): 現在の注文オブジェクト
戻り値
- 置き換え後のフォーマット文字列(string)
バージョン情報
- WooCommerceバージョン: 2.6.0以降
- WordPressバージョン: 4.0以降
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |
サンプルコード
サンプルコード1
add_filter('woocommerce_email_format_string_replace', 'custom_email_format_string', 10, 2);
function custom_email_format_string($format_string, $order) {
// 注文IDを追加
return str_replace('{order_id}', $order->get_id(), $format_string);
}
- このコードは、メールテンプレート内の
{order_id}
を実際の注文IDに置き換えます。
サンプルコード2
add_filter('woocommerce_email_format_string_replace', 'personalized_greeting', 10, 2);
function personalized_greeting($format_string, $order) {
$customer_name = $order->get_billing_first_name();
return str_replace('{greeting}', 'こんにちは ' . $customer_name . ' 様', $format_string);
}
- このコードは、メールの挨拶文を顧客の名前でパーソナライズします。
サンプルコード3
add_filter('woocommerce_email_format_string_replace', 'custom_order_summary', 10, 2);
function custom_order_summary($format_string, $order) {
$order_summary = '合計金額: ' . $order->get_total() . '円';
return str_replace('{order_summary}', $order_summary, $format_string);
}
- このコードは、注文の合計金額をメールに埋め込みます。
サンプルコード4
add_filter('woocommerce_email_format_string_replace', 'add_thank_you_note', 10, 2);
function add_thank_you_note($format_string, $order) {
return $format_string . "nnご利用いただきありがとうございます!";
}
- このコードは、メールの最後に感謝のメッセージを追加します。
サンプルコード5
add_filter('woocommerce_email_format_string_replace', 'track_event_code', 10, 2);
function track_event_code($format_string, $order) {
$tracking_url = 'https://tracking.example.com/?order_id=' . $order->get_id();
return str_replace('{tracking}', '<a href="' . $tracking_url . '">こちらをクリックして注文を追跡</a>', $format_string);
}
- このコードは、顧客が注文を追跡できるリンクをメールに追加します。