概要
woocommerce_privacy_remove_order_personal_data_props
は、WooCommerceにおける個人データの保護に関する機能に関わるフィルターフックです。このフィルターは、ユーザーのプライバシーに配慮して、顧客の注文に関連する個人データの削除をカスタマイズするために使用されます。具体的には、ユーザーが個人情報を削除したい場合に、どのデータプロパティを削除するかを制御します。このフィルターは、プライバシーポリシーに準拠したサイト運営を行うために役立ちます。
よく使用される機能
- 特定の注文情報(メモやカスタムフィールド)の削除
- ユーザーが要求したデータを一括削除する際のカスタマイズ
- 個人データの管理に関するプラグインとの連携
- GDPR準拠のためのデータ削除機能の拡張
- 削除対象データのフィルタリング
- ショップ特有のプライバシー要求に対応
構文
add_filter( 'woocommerce_privacy_remove_order_personal_data_props', 'your_function_name', 10, 2 );
パラメータ
$props
(配列): 削除対象のプロパティを含む配列$order
(WC_Order): 対象の注文オブジェクト
戻り値
$props
(配列): 修正されたプロパティの配列
使用可能なプラグインバージョン
- WooCommerce: バージョン4.0以降
- WordPress: バージョン5.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_privacy_remove_order_personal_data_props', 'remove_custom_order_props', 10, 2 );
function remove_custom_order_props( $props, $order ) {
if ( $order->get_status() === 'completed' ) {
$props[] = 'custom_order_meta';
}
return $props;
}
このサンプルは「completed」ステータスの注文に対して、カスタムメタデータを削除リストに追加します。
サンプルコード2
add_filter( 'woocommerce_privacy_remove_order_personal_data_props', 'remove_personal_details', 10, 2 );
function remove_personal_details( $props, $order ) {
$props[] = 'billing_phone';
return $props;
}
このサンプルでは、注文情報から「billing_phone」(請求先電話番号)を削除対象に追加しています。
サンプルコード3
add_filter( 'woocommerce_privacy_remove_order_personal_data_props', 'filter_order_props', 10, 2 );
function filter_order_props( $props, $order ) {
$user_id = $order->get_user_id();
if ( $user_id == get_current_user_id() ) {
$props[] = 'shipping_address';
}
return $props;
}
このコードでは、現在のユーザーが自分の注文であれば、配送先住所を削除リストに追加します。
サンプルコード4
add_filter( 'woocommerce_privacy_remove_order_personal_data_props', 'add_remove_dt', 10, 2 );
function add_remove_dt( $props, $order ) {
$props[] = 'order_notes';
return $props;
}
このサンプルは、注文ノート(order_notes)を削除対象のプロパティに追加します。
サンプルコード5
add_filter( 'woocommerce_privacy_remove_order_personal_data_props', 'customize_order_props', 10, 2 );
function customize_order_props( $props, $order ) {
if ( $order->get_total() > 100 ) {
$props[] = 'loyalty_points';
}
return $props;
}
このコードは、合計金額が100を超える注文の場合、「loyalty_points」を削除リストに追加します。
これらのサンプルコードは著作権フリーであり、WooCommerceのプライバシー機能をカスタマイズする際の参考として使用可能です。