概要
woocommerce_privacy_export_order_personal_data_prop
フィルタは、WooCommerce において個人データのエクスポート機能を拡張するためのフィルタです。このフィルタを使用すると、特定のオーダーに関連する個人データをエクスポートする際に、追加のプロパティを指定したり、デフォルトのデータを変更したりすることができます。
このフィルタは、以下のような機能を実装する際によく使用されます:
- 顧客のオーダー履歴のカスタマイズ
- 個別のデータフィールドの追加
- データエクスポートのフォーマット調整
- GDPR コンプライアンス向上のためのデータ整理
- レポート生成のための拡張データの追加
- 特定の条件に基づくデータフィルタリング
構文
add_filter( 'woocommerce_privacy_export_order_personal_data_prop', 'custom_function', 10, 2 );
パラメータ
$props
(array) – エクスポートするデータのプロパティ$order
(WC_Order) – 対象の WooCommerce オーダーオブジェクト
戻り値
- string|array – 変更されたまたは追加されたプロパティの配列
使用可能なプラグインとバージョン
- WooCommerce: 3.4 以降
- WordPress: 4.9 以降
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
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_privacy_export_order_personal_data_prop', 'add_order_total_to_export', 10, 2 );
function add_order_total_to_export( $props, $order ) {
$props['order_total'] = $order->get_total();
return $props;
}
このサンプルは、エクスポートするオーダー情報に総額を追加します。
サンプル 2: カスタムフィールドを追加
add_filter( 'woocommerce_privacy_export_order_personal_data_prop', 'add_custom_order_field', 10, 2 );
function add_custom_order_field( $props, $order ) {
$custom_field = get_post_meta( $order->get_id(), '_custom_field', true );
$props['custom_field'] = $custom_field;
return $props;
}
このサンプルは、オーダーに関連付けられたカスタムフィールドをエクスポートデータに追加します。
サンプル 3: エクスポートフォーマットの変更
add_filter( 'woocommerce_privacy_export_order_personal_data_prop', 'change_export_format', 10, 2 );
function change_export_format( $props, $order ) {
// 日付フォーマットを変更
$props['order_date'] = $order->get_date_created()->date('Y-m-d H:i:s');
return $props;
}
このサンプルは、エクスポートの日付フォーマットをカスタマイズします。
サンプル 4: 特定条件下でのデータ追加
add_filter( 'woocommerce_privacy_export_order_personal_data_prop', 'conditional_data_export', 10, 2 );
function conditional_data_export( $props, $order ) {
if ( $order->get_status() === 'completed' ) {
$props['completed_note'] = 'このオーダーは完了しています。';
}
return $props;
}
このサンプルは、オーダーのステータスが「完了」の場合に特定のメッセージをエクスポートデータに追加します。
サンプル 5: 配送先情報のフォーマット変更
add_filter( 'woocommerce_privacy_export_order_personal_data_prop', 'format_shipping_address', 10, 2 );
function format_shipping_address( $props, $order ) {
$shipping_address = $order->get_formatted_shipping_address();
$props['shipping_address'] = $shipping_address;
return $props;
}
このサンプルは、配送先住所をフォーマットされた形でエクスポートデータに追加します。