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

Finds and exports attachments associated with an email address.


Parameters

$email_address

(string) (Required) The attachment owner email address.

$page

(int) (Optional) Attachment page.

Default value: 1


Return

(array) $return An array of personal data.


Source

File: wp-includes/media.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,
	);
}


Changelog

Changelog
Version Description
WP-4.9.6 Introduced.