概要
woocommerce_privacy_erase_order_personal_data
フィルタは、WooCommerce において注文に関連する個人データを削除する処理のカスタマイズを行う際に使用されます。このフィルタは、データプライバシーの観点から、ユーザーが自身のデータを消去したいときに特に有用です。以下は、このフィルタがよく使われる機能の例です。
- 顧客が自らの注文に関する個人データを削除するための処理をカスタマイズする。
- データの消去処理のログを管理するためのカスタムメッセージを追加する。
- 特定の条件に基づいて個人データの削除を制限する。
- 複数の注文データの消去手順を一元管理するためのフックを設ける。
- 外部サービスとの連携に関連するデータ消去のカスタマイズ。
- データ消去時にユーザーへの通知メッセージを変更する。
構文
apply_filters( 'woocommerce_privacy_erase_order_personal_data', $order, $request );
パラメータ
$order
(WC_Order): 消去する対象の注文オブジェクト。$request
(WP_REST_Request): リクエストオブジェクト。
戻り値
- (変更された)$order オブジェクトまたは成否を示す boolean。
使用可能なプラグインバージョン
- WooCommerce: 3.0 以降
- 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_erase_order_personal_data', 'custom_erase_order_personal_data', 10, 2 );
function custom_erase_order_personal_data( $order, $request ) {
// 注文のカスタムフィールドを削除
delete_post_meta( $order->get_id(), '_custom_field' );
return $order;
}
このコードは、注文個人データの削除処理の中でカスタムフィールドを削除します。
サンプルコード 2
add_filter( 'woocommerce_privacy_erase_order_personal_data', 'log_erasure_data', 10, 2 );
function log_erasure_data( $order, $request ) {
// データ消去のログを記録
error_log( sprintf( 'Order %d personal data erased.', $order->get_id() ) );
return $order;
}
このコードは、個人データを削除する際に、その情報をエラーログとして記録します。
サンプルコード 3
add_filter( 'woocommerce_privacy_erase_order_personal_data', 'restrict_order_data_erase', 10, 2 );
function restrict_order_data_erase( $order, $request ) {
// 特定の条件で消去を制限
if ( $order->get_total() > 100 ) {
return $order; // 100ドル以上の場合、消去を行わない
}
// その他の消去処理...
return $order;
}
このコードは、特定の条件(100ドル以上の注文)に基づいて個人データの削除を制限します。
サンプルコード 4
add_filter( 'woocommerce_privacy_erase_order_personal_data', 'notify_user_of_erasure', 10, 2 );
function notify_user_of_erasure( $order, $request ) {
// ユーザーに通知を送信
wp_mail( $order->get_billing_email(), 'Data Erasure Notification', 'Your order personal data has been erased.' );
return $order;
}
このコードは、個人データが削除された際にユーザーへ通知メールを送信します。
サンプルコード 5
add_filter( 'woocommerce_privacy_erase_order_personal_data', 'bulk_erase_order_data', 10, 2 );
function bulk_erase_order_data( $order, $request ) {
// データを一括で消去
foreach ( [ '_meta_key1', '_meta_key2' ] as $key ) {
delete_post_meta( $order->get_id(), $key );
}
return $order;
}
このコードは、複数のメタキーのデータを一括で削除する処理を実装しています。