概要
woocommerce_privacy_erase_customer_personal_data_props
フィルタは、WooCommerceにおける顧客の個人データを消去する際に使用されるフックです。このフックを利用することで、開発者は顧客のデータ消去プロセスに独自のプロパティを追加したり、既存のプロパティを変更したりすることができます。一般的には、ユーザーのプライバシーやデータ管理に関連する機能を実装する際によく使われます。
具体的には、以下のような用途に利用されることが多いです:
- 顧客のマスターデータ消去
- 取引履歴のクリーニング
- 顧客メタデータの管理
- 利用者の同意に基づくデータ消去
- データベースのクリーニング作業の最適化
- プライバシーポリシーの遵守
構文
add_filter( 'woocommerce_privacy_erase_customer_personal_data_props', 'your_custom_function' );
パラメータ
- $props: 操作される顧客の個人データのプロパティを含む配列。
戻り値
- フィルタを適用した後の顧客の個人データプロパティ。
使用可能なプラグインWooCommerceのバージョン
- WooCommerce: 3.4.0以降
ワードプレスのバージョン
- WordPress: 4.9.6以降
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
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_customer_personal_data_props', 'add_custom_property_to_data_erase' );
function add_custom_property_to_data_erase( $props ) {
$props[] = 'orders'; // 注文データを消去対象に追加
return $props;
}
引用元: https://woocommerce.com/
サンプルコード2: プロパティの変更
このサンプルは、既存のプロパティの名前を変更しています。
add_filter( 'woocommerce_privacy_erase_customer_personal_data_props', 'change_property_name' );
function change_property_name( $props ) {
$index = array_search( 'billing_address', $props );
if ( false !== $index ) {
$props[ $index ] = 'address_data'; // プロパティ名を変更
}
return $props;
}
引用元: https://woocommerce.com/
サンプルコード3: プロパティの削除
特定のプロパティを消去対象から除外する例です。
add_filter( 'woocommerce_privacy_erase_customer_personal_data_props', 'remove_property_from_data_erase' );
function remove_property_from_data_erase( $props ) {
$props = array_diff( $props, array( 'cart_data' ) ); // カートデータを除外
return $props;
}
引用元: https://woocommerce.com/
サンプルコード4: 新しいデータタイプの追加
新しいデータタイプを消去対象に追加する方法を示します。
add_filter( 'woocommerce_privacy_erase_customer_personal_data_props', 'add_new_data_type' );
function add_new_data_type( $props ) {
$props[] = 'wishlists'; // ウィッシュリストデータを追加
return $props;
}
引用元: https://woocommerce.com/
サンプルコード5: カスタム条件の追加
特定の条件に基づきプロパティを追加する例です。
add_filter( 'woocommerce_privacy_erase_customer_personal_data_props', 'conditional_property_addition' );
function conditional_property_addition( $props ) {
if ( is_user_logged_in() ) {
$props[] = 'saved_addresses'; // ログインユーザーの場合に追加
}
return $props;
}
引用元: https://woocommerce.com/