函数文档

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.

Return

string The anonymous data for the requested type.

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.