概要
woocommerce_email_from_address
は、WooCommerceで送信されるメールの送信元アドレスをカスタマイズするためのフィルタです。このフックは、特に次のような機能を実装する際によく使用されます。
- 特定のメール送信に異なるメールアドレスを設定する。
- 各種トランザクションメール(注文確認、出荷通知など)で送信元アドレスを変更する。
- メールの送信元を会社名や担当者名に基づいて動的に変更する。
- 環境(テストや本番)に応じて異なる送信元アドレスを設定する。
- ブランドやマーケティング戦略に基づいて統一された送信元アドレスを使用する。
- 顧客への信頼感を向上させるために、特定のドメインのメールアドレスを使用する。
構文
add_filter( 'woocommerce_email_from_address', 'function_name' );
パラメータ
string $email_address
変更される送信元のメールアドレス。
戻り値
string
変更された送信元のメールアドレス。
使用可能なバージョン
- WooCommerce バージョン: 2.0.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_from_address', function( $email_address ) {
return 'orders@yourdomain.com';
});
このコードは、WooCommerceから送信される全てのメールの送信元アドレスを orders@yourdomain.com
に設定します。
サンプルコード 2
add_filter( 'woocommerce_email_from_address', function( $email_address, $email_id ) {
if ( $email_id === 'customer_processing_order' ) {
return 'support@yourcompany.com';
}
return $email_address;
}, 10, 2 );
このコードは、処理中の注文(customer_processing_order
)のメールだけを support@yourcompany.com
のアドレスで送信します。
サンプルコード 3
add_filter( 'woocommerce_email_from_address', function( $email_address ) {
$current_user = wp_get_current_user();
return $current_user->user_email ? $current_user->user_email : $email_address;
});
このコードは、もし現在のユーザーがログインしている場合、そのユーザーのメールアドレスを送信元アドレスとして使用します。それ以外の場合は元のアドレスを返します。
サンプルコード 4
add_filter( 'woocommerce_email_from_address', function( $email_address ) {
if ( is_admin() ) {
return 'admin@yourdomain.com';
}
return $email_address;
});
このコードは、管理画面からメールが送信される場合、送信元アドレスを admin@yourdomain.com
に変更します。
サンプルコード 5
add_filter( 'woocommerce_email_from_address', function( $email_address ) {
$day_of_week = date( 'l' );
if ( $day_of_week === 'Monday' ) {
return 'monday_mail@yourdomain.com';
}
return $email_address;
});
このコードは、月曜日に送信されるメールの送信元アドレスを monday_mail@yourdomain.com
に設定し、それ以外の日は元のアドレスを使用します。