wp_privacy_anonymize_data()
云策文档标注
概述
wp_privacy_anonymize_data() 函数用于根据数据类型返回统一的匿名化数据,支持多种数据类型如电子邮件、URL、IP地址等,并可通过过滤器进行自定义。
关键要点
- 函数接受两个参数:$type(必需,指定数据类型)和$data(可选,原始数据,默认为空字符串)。
- 返回字符串,即请求类型的匿名数据。
- 内部使用switch语句处理不同类型,例如电子邮件返回'deleted@site.invalid',IP地址调用wp_privacy_anonymize_ip()函数。
- 提供apply_filters('wp_privacy_anonymize_data', $anonymous, $type, $data)钩子,允许开发者过滤匿名数据。
- 自WordPress 4.9.6版本引入,主要用于隐私数据擦除功能。
代码示例
function wp_privacy_anonymize_data( $type, $data = '' ) {
switch ( $type ) {
case 'email':
$anonymous = 'deleted@site.invalid';
break;
case 'url':
$anonymous = 'https://site.invalid';
break;
case 'ip':
$anonymous = wp_privacy_anonymize_ip( $data );
break;
case 'date':
$anonymous = '0000-00-00 00:00:00';
break;
case 'text':
/* translators: Deleted text. */
$anonymous = __( '[deleted]' );
break;
case 'longtext':
/* translators: Deleted long text. */
$anonymous = __( 'This content was deleted by the author.' );
break;
default:
$anonymous = '';
break;
}
/**
* Filters the anonymous data for each type.
*
* @since 4.9.6
*
* @param string $anonymous Anonymized data.
* @param string $type Type of the data.
* @param string $data Original data.
*/
return apply_filters( 'wp_privacy_anonymize_data', $anonymous, $type, $data );
}注意事项
- 函数默认处理的数据类型包括'email'、'url'、'ip'、'date'、'text'和'longtext',其他类型返回空字符串。
- IP地址的匿名化依赖于wp_privacy_anonymize_ip()函数,确保正确处理IPv4和IPv6地址。
- 文本和长文本使用__()函数进行本地化翻译,以支持多语言站点。
- 开发者可以通过'wp_privacy_anonymize_data'过滤器自定义匿名数据输出,增强灵活性。
原文内容
Returns uniform “anonymous” data by type.
Parameters
$typestringrequired-
The type of data to be anonymized.
$datastringoptional-
The data to be anonymized. Default empty string.
Source
function wp_privacy_anonymize_data( $type, $data = '' ) {
switch ( $type ) {
case 'email':
$anonymous = 'deleted@site.invalid';
break;
case 'url':
$anonymous = 'https://site.invalid';
break;
case 'ip':
$anonymous = wp_privacy_anonymize_ip( $data );
break;
case 'date':
$anonymous = '0000-00-00 00:00:00';
break;
case 'text':
/* translators: Deleted text. */
$anonymous = __( '[deleted]' );
break;
case 'longtext':
/* translators: Deleted long text. */
$anonymous = __( 'This content was deleted by the author.' );
break;
default:
$anonymous = '';
break;
}
/**
* Filters the anonymous data for each type.
*
* @since 4.9.6
*
* @param string $anonymous Anonymized data.
* @param string $type Type of the data.
* @param string $data Original data.
*/
return apply_filters( 'wp_privacy_anonymize_data', $anonymous, $type, $data );
}
Hooks
- apply_filters( ‘wp_privacy_anonymize_data’, string $anonymous, string $type, string $data )
-
Filters the anonymous data for each type.
Changelog
| Version | Description |
|---|---|
| 4.9.6 | Introduced. |