プラグインWooCommerceのwoocommerce_email_actionsアクションの使用方法・解説

概要

woocommerce_email_actionsは、WooCommerceで送信されるメールに関連するフックです。このアクションは、さまざまなイベントに基づいてカスタムメールアクションを追加または変更するために使用されます。具体的には、次のような機能を実装する際によく使われます。

  1. 新しいメール通知の追加
  2. 既存のメールテンプレートの変更
  3. メールの送信条件のカスタマイズ
  4. 特定のイベントに基づくメールの作成
  5. 通知メールのタイトルや内容の変更
  6. メールの送信前にプロセスをフックして処理する

構文

add_filter('woocommerce_email_actions', 'your_function_name');

パラメータ

  • array $email_actions: 追加または変更したいメールアクションの配列。

戻り値

  • array: 変更後のメールアクションの配列。

WooCommerceのバージョン

  • 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_actions', function($email_actions) {
    $email_actions[] = 'woocommerce_new_order_notification';
    return $email_actions;
});

このコードは、新しい注文通知のメールアクションを追加します。

サンプル2: 特定のメールの件名を変更

add_filter('woocommerce_email_subject_customer_completed_order', function($subject, $order) {
    return 'ご注文ありがとうございます - 注文番号: ' . $order->get_order_number();
}, 10, 2);

このコードは、注文完了メールの件名をカスタマイズします。

サンプル3: カスタムメールテンプレートの使用

add_filter('woocommerce_email_actions', function($email_actions) {
    if (isset($email_actions) && !in_array('woocommerce_order_status_on-hold', $email_actions)) {
        $email_actions[] = 'woocommerce_order_status_on-hold';
    }
    return $email_actions;
});

このコードは、注文保留状態のメールアクションを追加します。

サンプル4: メール送信条件の追加

add_filter('woocommerce_email_is_enabled', function($enabled, $email_id) {
    if ($email_id === 'customer_completed_order') {
        $enabled = false; // 完了メールを無効にする
    }
    return $enabled;
}, 10, 2);

このコードは、顧客への完了メールを送信しないよう設定します。

サンプル5: 送信元アドレスの変更

add_filter('woocommerce_email_from_address', function($email) {
    return 'custom@example.com';
});

このコードは、すべてのWooCommerceメールの送信元アドレスをカスタムアドレスに変更します。

これらのコードは、WooCommerceメールの動作をカスタマイズするためのフックの具体的な使用例です。引用元は、WordPressの公式文書やWooCommerceのリファレンスを参照してください。

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


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