プラグインWooCommerceのwoocommerce_email_format_string_findフィルタの使用方法・解説

概要

woocommerce_email_format_string_find フィルタは、WooCommerceのメールテンプレートで使用される特定の文字列を検索し、置換するために使われます。このフィルタを利用することで、メールのフォーマットをカスタマイズし、特定の情報を強調したり、独自のメッセージを挿入することができます。よく使われる機能には以下が含まれます。

  1. 受注確認メールのカスタマイズ
  2. 発送通知メールのフォーマット変更
  3. クーポン情報の表示形式の変更
  4. 顧客への通知にカスタムメッセージを追加
  5. 支払い確認メールの文面変更
  6. 特定のカテゴリや商品の情報を強調表示

構文

add_filter( 'woocommerce_email_format_string_find', 'custom_email_format_string_find', 10, 2 );

パラメータ

  • $find: 検索対象の文字列
  • $email: 送信されるメールのタイプ(例:”new_order”, “cancelled_order” など)

戻り値

フィルタが適用された後の文字列。

使用可能なバージョン

  • WooCommerceのバージョン: 3.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_find', 'change_payment_email_format', 10, 2 );

function change_payment_email_format( $find, $email ) {
    if ( $email === 'customer_completed_order' ) {
        $find[] = '{total}';
        $find[] = '{payment_method}';
    }
    return $find;
}

このサンプルコードは、顧客の支払い確認メールに表示される金額と支払い方法のラベルをカスタマイズするためのものです。

サンプル2: 新規注文メールにカスタムメッセージを追加

add_filter( 'woocommerce_email_format_string_find', 'add_custom_message_to_new_order_email', 10, 2 );

function add_custom_message_to_new_order_email( $find, $email ) {
    if ( $email === 'new_order' ) {
        $find[] = '{custom_message}';
    }
    return $find;
}

このコードは、新規注文メールにカスタムメッセージを挿入するためのフィルタを追加しています。

サンプル3: 配送通知メールの顧客情報を強調

add_filter( 'woocommerce_email_format_string_find', 'highlight_customer_info_in_shipping_email', 10, 2 );

function highlight_customer_info_in_shipping_email( $find, $email ) {
    if ( $email === 'customer_shipped_order' ) {
        $find[] = '{billing_first_name}';
        $find[] = '{billing_last_name}';
    }
    return $find;
}

これは、配送通知メールに顧客の名前を強調するためのフィルタを追加するコードです。

サンプル4: 注文キャンセルメールのフィードバック引用

add_filter( 'woocommerce_email_format_string_find', 'add_feedback_request_to_cancel_order_email', 10, 2 );

function add_feedback_request_to_cancel_order_email( $find, $email ) {
    if ( $email === 'customer_cancelled_order' ) {
        $find[] = '{feedback_request}';
    }
    return $find;
}

このサンプルでは、注文キャンセルメールに顧客からのフィードバックをリクエストするためのフィルタを追加しています。

サンプル5: クーポンコード表示のカスタマイズ

add_filter( 'woocommerce_email_format_string_find', 'customize_coupon_code_in_email', 10, 2 );

function customize_coupon_code_in_email( $find, $email ) {
    if ( $email === 'customer_coupon_email' ) {
        $find[] = '{coupon_code}';
    }
    return $find;
}

こちらは、クーポンコードに関連するメールにおいて、クーポンコードの表示をカスタマイズするサンプルコードです。

この関数について質問する


上の計算式の答えを入力してください