概要
woocommerce_mail_callback_params
フィルタは、WooCommerceが送信するメールのパラメータを変更するために使用されるフックです。このフィルタを使用することで、メールの送信時に特定の情報を追加したり、変更したりすることができます。主に次のような機能を実装する際によく使われます。
- メールの件名をカスタマイズする
- メールの送信先を変更する
- メールの本文に追加情報を含める
- 添付ファイルを追加する
- メールの形式を変更する(テキストまたはHTML)
- メールのカスタムヘッダーを追加する
構文
add_filter('woocommerce_mail_callback_params', 'your_custom_function', 10, 2);
パラメータ
$params
(array) – メールのパラメータ$order
(WC_Order) – 関連する注文オブジェクト
戻り値
- array – 修正されたメールのパラメータが含まれる配列
使用可能なプラグインバージョン
- 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: メール件名のカスタマイズ
このサンプルコードは、WooCommerceの新しい注文メールの件名をカスタマイズします。
add_filter('woocommerce_mail_callback_params', function($params, $order) {
$params['subject'] = '新しい注文 - 注文番号: ' . $order->get_order_number();
return $params;
}, 10, 2);
引用元: https://developer.woocommerce.com/
サンプル2: メール送信先の変更
このコードは、顧客が購入していない場合に管理者にメールを送信しないようにします。
add_filter('woocommerce_mail_callback_params', function($params, $order) {
if (!$order->has_status('completed')) {
$params['to'] = 'admin@example.com';
}
return $params;
}, 10, 2);
引用元: https://developer.woocommerce.com/
サンプル3: メール本文への追加情報
このサンプルは、メールの本文にカスタムメッセージを追加します。
add_filter('woocommerce_mail_callback_params', function($params, $order) {
$params['message'] .= "nn特別なメッセージ: 注文をありがとうございます!";
return $params;
}, 10, 2);
引用元: https://developer.woocommerce.com/
サンプル4: 添付ファイルの追加
このコードは、特定のファイルをメールに添付します。
add_filter('woocommerce_mail_callback_params', function($params, $order) {
$params['attachments'][] = '/path/to/your/file.pdf';
return $params;
}, 10, 2);
引用元: https://developer.woocommerce.com/
サンプル5: カスタムヘッダーの追加
このサンプルは、送信するメールにカスタムヘッダーを追加します。
add_filter('woocommerce_mail_callback_params', function($params, $order) {
$params['headers'][] = 'X-Custom-Header: MyValue';
return $params;
}, 10, 2);
引用元: https://developer.woocommerce.com/