查找并导出与电子邮件地址关联的附件。

原型

wp_media_personal_data_exporter( string $email_address, int $page = 1 )

参数

$email_address (string) (Required) 附件所有者电子邮件地址。

$page (int) (Optional) 附件页面。

返回值

(array)  $ return一组个人数据。

源文件

路径:wp-includes/media.php

<?php
...
function wp_media_personal_data_exporter( $email_address, $page = 1 ) {
	// Limit us to 50 attachments at a time to avoid timing out.
	$number = 50;
	$page   = (int) $page;
	$data_to_export = array();
	$user = get_user_by( 'email' , $email_address );
	if ( false === $user ) {
		return array(
			'data' => $data_to_export,
			'done' => true,
		);
	}
	$post_query = new WP_Query(
		array(
			'author'         => $user->ID,
			'posts_per_page' => $number,
			'paged'          => $page,
			'post_type'      => 'attachment',
			'post_status'    => 'any',
			'orderby'        => 'ID',
			'order'          => 'ASC',
		)
	);
	foreach ( (array) $post_query->posts as $post ) {
		$attachment_url = wp_get_attachment_url( $post->ID );
		if ( $attachment_url ) {
			$post_data_to_export = array(
				array( 'name'  => __( 'URL' ), 'value' => $attachment_url ),
			);
			$data_to_export[] = array(
				'group_id'    => 'media',
				'group_label' => __( 'Media' ),
				'item_id'     => "post-{$post->ID}",
				'data'        => $post_data_to_export,
			);
		}
	}
	$done = $post_query->max_num_pages <= $page;
	return array(
		'data' => $data_to_export,
		'done' => $done,
	);
}
...
?>

其他

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