概要
woocommerce_email_order_meta_fields
フィルタは、WooCommerceの注文メールにカスタムメタ情報を追加する際に使用されます。このフィルタを使うことで、デフォルトで提供される情報に加えて、特定のデータを含めることが可能となります。これにより、顧客や管理者に対して必要な詳細をメールで通知することができます。
このフィルタは以下のような機能に良く使用されます。
1. 注文に関連するカスタムフィールドの追加
2. 特定のプロモーションコードの通知
3. 注文の配送情報の拡張
4. 注文に関するフィードバックやレビューの提供
5. 特別なメッセージの表示
6. ダウンロード可能な商品のリンク追加
構文
add_filter('woocommerce_email_order_meta_fields', 'your_custom_function', 10, 3);
パラメータ
$fields
: 追加されるメタ情報を含む配列$sent_to_admin
: 管理者宛に送信されるかどうかのブール値$order
: 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: カスタムフィールドの追加
このサンプルは、注文メールにカスタムフィールド「カスタマーID」を追加します。
add_filter('woocommerce_email_order_meta_fields', function($fields, $sent_to_admin, $order) {
$fields['customer_id'] = 'Customer ID: ' . get_post_meta($order->get_id(), '_customer_id', true);
return $fields;
});
引用元: https://www.example.com
サンプル2: プロモーションコードの通知
このサンプルは、プロモーションコードを注文メールに表示します。
add_filter('woocommerce_email_order_meta_fields', function($fields, $sent_to_admin, $order) {
$promo_code = get_post_meta($order->get_id(), '_promo_code', true);
if ($promo_code) {
$fields['promo_code'] = 'Promo Code: ' . $promo_code;
}
return $fields;
});
引用元: https://www.example.com
サンプル3: 配送情報の拡張
このサンプルでは、配送方法を注文メールに追加します。
add_filter('woocommerce_email_order_meta_fields', function($fields, $sent_to_admin, $order) {
$shipping_method = $order->get_shipping_method();
$fields['shipping_method'] = 'Shipping Method: ' . $shipping_method;
return $fields;
});
引用元: https://www.example.com
サンプル4: 注文に関するフィードバックの追加
このサンプルは、顧客からのフィードバックをメールに追加します。
add_filter('woocommerce_email_order_meta_fields', function($fields, $sent_to_admin, $order) {
$feedback = get_post_meta($order->get_id(), '_customer_feedback', true);
if ($feedback) {
$fields['customer_feedback'] = 'Customer Feedback: ' . $feedback;
}
return $fields;
});
引用元: https://www.example.com
サンプル5: 特別なメッセージの表示
このサンプルでは、特定のメッセージを注文メールに付加します。
add_filter('woocommerce_email_order_meta_fields', function($fields, $sent_to_admin, $order) {
$fields['special_message'] = 'Thank you for your order! We appreciate your business.';
return $fields;
});
引用元: https://www.example.com