使用指向个人数据导出文件的链接向用户发送电子邮件

原型

wp_privacy_send_personal_data_export_email( int $request_id )

参数

$request_id (int) (Required) 此个人数据导出的请求ID。

返回值

(true|WP_Error)  成功或是真的

源文件

路径:wp-admin/includes/file.php

<?php
...
function wp_privacy_send_personal_data_export_email( $request_id ) {
	// Get the request data.
	$request = wp_get_user_request_data( $request_id );
	if ( ! $request || 'export_personal_data' !== $request->action_name ) {
		return new WP_Error( 'invalid', __( 'Invalid request ID when sending personal data export email.' ) );
	}
	/** This filter is documented in wp-includes/functions.php */
	$expiration      = apply_filters( 'wp_privacy_export_expiration', 3 * DAY_IN_SECONDS );
	$expiration_date = date_i18n( get_option( 'date_format' ), time() + $expiration );
/* translators: Do not translate EXPIRATION, LINK, SITENAME, SITEURL: those are placeholders. */
$email_text = __(
'Howdy,
Your request for an export of personal data has been completed. You may
download your personal data by clicking on the link below. For privacy
and security, we will automatically delete the file on ###EXPIRATION###,
so please download it before then.
###LINK###
Regards,
All at ###SITENAME###
###SITEURL###'
);
	/**
	 * Filters the text of the email sent with a personal data export file.
	 *
	 * The following strings have a special meaning and will get replaced dynamically:
	 * ###EXPIRATION###         The date when the URL will be automatically deleted.
	 * ###LINK###               URL of the personal data export file for the user.
	 * ###SITENAME###           The name of the site.
	 * ###SITEURL###            The URL to the site.
	 *
	 * @since 4.9.6
	 *
	 * @param string $email_text     Text in the email.
	 * @param int    $request_id     The request ID for this personal data export.
	 */
	$content = apply_filters( 'wp_privacy_personal_data_email_content', $email_text, $request_id );
	$email_address = $request->email;
	$export_file_url = get_post_meta( $request_id, '_export_file_url', true );
	$site_name = wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );
	$site_url = home_url();
	$content = str_replace( '###EXPIRATION###', $expiration_date, $content );
	$content = str_replace( '###LINK###', esc_url_raw( $export_file_url ), $content );
	$content = str_replace( '###EMAIL###', $email_address, $content );
	$content = str_replace( '###SITENAME###', $site_name, $content );
	$content = str_replace( '###SITEURL###', esc_url_raw( $site_url ), $content );
	$mail_success = wp_mail(
		$email_address,
		sprintf(
			__( '[%s] Personal Data Export' ),
			$site_name
		),
		$content
	);
	if ( ! $mail_success ) {
		return new WP_Error( 'error', __( 'Unable to send personal data export email.' ) );
	}
	return true;
}
...
?>

其他

英文文档:https://developer.wordpress.org/reference/functions/wp_privacy_send_personal_data_export_email/