概要
woocommerce_email_downloads_columns
フィルタは、WooCommerceのダウンロード可能な製品に関連するメール通知の表示内容をカスタマイズする際に使用されるフックです。このフィルタを利用することで、ダウンロードリンクやその属性を変更したり、新しい情報を追加したりすることが可能です。具体的には、以下のような機能を実装する際に役立ちます。
- ダウンロードリンクの表示形式を変更
- 追加情報(例:ダウンロード回数、期限など)を表示
- 特定の条件に基づくカスタムメッセージの追加
- ユーザーに対する通知のカスタマイズ
- セキュリティに関連する情報の追加
- Eメールテンプレートの受信者に特有の情報を表示
構文
add_filter('woocommerce_email_downloads_columns', 'custom_function_name', 10, 2);
パラメータ
$columns
: 既存のカラムの配列$order
: 現在の注文オブジェクト
戻り値
修正されたカラムの配列
バージョン情報
- WooCommerce: 3.4.0以降
- WordPress: 4.9.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_downloads_columns', 'add_download_count_column', 10, 2);
function add_download_count_column($columns, $order) {
$columns['download_count'] = __('Download Count', 'woocommerce');
return $columns;
}
// このコードは、ダウンロード可能な商品のメールにダウンロード回数の列を追加します。
引用元: https://www.example.com/sample1
サンプルコード2: 新しいカスタムカラムを追加して製品の有効期限を表示
add_filter('woocommerce_email_downloads_columns', 'add_expiration_column', 10, 2);
function add_expiration_column($columns, $order) {
$columns['expiration'] = __('Expiration Date', 'woocommerce');
return $columns;
}
// このコードは、Eメールに製品の有効期限を表示するための新しいカラムを追加します。
引用元: https://www.example.com/sample2
サンプルコード3: ダウンロードリンクにカスタムメッセージを追加
add_filter('woocommerce_email_downloads_columns', 'add_custom_message_column', 10, 2);
function add_custom_message_column($columns, $order) {
$columns['custom_message'] = __('Custom Message', 'woocommerce');
return $columns;
}
// このコードは、Eメールのダウンロードリンクにカスタムメッセージのカラムを追加します。
引用元: https://www.example.com/sample3
サンプルコード4: 管理者向けに特別なカスタム情報を追加
add_filter('woocommerce_email_downloads_columns', 'add_admin_custom_info_column', 10, 2);
function add_admin_custom_info_column($columns, $order) {
if (current_user_can('administrator')) {
$columns['admin_info'] = __('Admin Notes', 'woocommerce');
}
return $columns;
}
// このコードは、管理者に対して特別なカスタム情報を表示するためのカラムを追加します。
引用元: https://www.example.com/sample4
サンプルコード5: Eメール通知用のフィルタリング機能を強化
add_filter('woocommerce_email_downloads_columns', 'enhance_email_columns', 10, 2);
function enhance_email_columns($columns, $order) {
if ($order->get_total() > 100) { // 注文合計が100ドル以上の場合
$columns['exclusive_offer'] = __('Exclusive Offer', 'woocommerce');
}
return $columns;
}
// このコードは、高額な注文に対してエクスクルーシブオファーのカラムを追加します。
引用元: https://www.example.com/sample5