概要
woocommerce_email_get_option
フィルタは、WooCommerce が送信するメール(注文確認メール、顧客への通知メールなど)のオプション設定を取得・変更する際に使用されます。このフィルタを利用することで、特定のメールオプションをカスタマイズすることができます。
よく使われる機能
- メールの件名の変更
- メールの送信者名やメールアドレスの変更
- 特定のメールテンプレートのカスタマイズ
- メール本文にカスタムメッセージを追加
- メールのコンテンツタイプの変更
- メール送信の条件を追加・変更
構文
add_filter( 'woocommerce_email_get_option', 'custom_function_name', 10, 2 );
パラメータ
$option
: 取得されるオプションの名前。$email_id
: 対象のメールのID。
戻り値
カスタマイズされたオプションの値。
使用可能なプラグインのバージョン
- WooCommerce バージョン: 2.6 以降
- 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_get_option', 'custom_sender_name', 10, 2 );
function custom_sender_name( $option, $email_id ) {
if ( 'from_name' === $option && 'new_order' === $email_id ) {
return '新しい送信者名';
}
return $option;
}
このコードは、新しい注文の際に送信されるメールの送信者名を変更します。
サンプル2: 注文確認メールの件名を変更する
add_filter( 'woocommerce_email_get_option', 'custom_order_confirmation_subject', 10, 2 );
function custom_order_confirmation_subject( $option, $email_id ) {
if ( 'subject' === $option && 'customer_processing_order' === $email_id ) {
return 'あなたの注文が処理中です!';
}
return $option;
}
このコードは、顧客に送信される処理中の注文メールの件名をカスタマイズします。
サンプル3: メールテンプレートをカスタマイズ
add_filter( 'woocommerce_email_get_option', 'custom_email_template', 10, 2 );
function custom_email_template( $option, $email_id ) {
if ( 'email_type' === $option && 'customer_completed_order' === $email_id ) {
return 'plain';
}
return $option;
}
このコードは、顧客へ送信される完了した注文メールのテンプレートタイプを変更します。
サンプル4: メール本文にカスタムメッセージを追加
add_filter( 'woocommerce_email_get_option', 'custom_email_message', 10, 2 );
function custom_email_message( $option, $email_id ) {
if ( 'heading' === $option && 'customer_invoice' === $email_id ) {
return 'カスタムメッセージを追加します';
}
return $option;
}
このコードは、請求書メールの見出しにカスタムメッセージを追加します。
サンプル5: メール送信条件の追加
add_filter( 'woocommerce_email_get_option', 'custom_email_condition', 10, 2 );
function custom_email_condition( $option, $email_id ) {
if ( 'enabled' === $option && 'customer_invoice' === $email_id ) {
return 'yes'; // メールを有効にする
}
return $option;
}
このコードは、請求書メールの送信条件を有効にします。