wp_media_personal_data_exporter

函式
wp_media_personal_data_exporter ( $email_address, $page = 1 )
引數
  • (string) $email_address The attachment owner email address.
    Required:
  • (int) $page Attachment page.
    Required:
    Default: 1
返回值
  • (array) An array of personal data.
定義位置
相關方法
wp_user_personal_data_exporterwp_register_media_personal_data_exporterwp_comments_personal_data_exporterwp_register_user_personal_data_exporterwp_register_comment_personal_data_exporter
引入
4.9.6
棄用
-

wp_media_personal_data_exporter: 這個函式負責匯出與媒體檔案有關的使用者的個人資料。它匯出與使用者上傳的媒體檔案有關的資料。

查詢並匯出與一個電子郵件地址相關的附件。

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' ),
				'group_description' => __( 'User’s media data.' ),
				'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,
	);
}

常見問題

FAQs
檢視更多 >