wp_maybe_generate_attachment_metadata

函数
wp_maybe_generate_attachment_metadata ( $attachment )
参数
  • (WP_Post) $attachment Attachment object.
    Required:
定义位置
相关方法
wp_generate_attachment_metadatawp_get_attachment_metadatawp_update_attachment_metadatawp_embed_excerpt_attachmentwp_get_attachment_image
引入
3.9.0
弃用
-

wp_maybe_generate_attachment_metadata: 这是一个用来为文件附件生成元数据的函数。这个元数据包括文件的大小、类型和其他信息,可以用来在媒体库或网站的前端显示附件。

如果缺少的话,可能会尝试生成附件元数据。

function wp_maybe_generate_attachment_metadata( $attachment ) {
	if ( empty( $attachment ) || empty( $attachment->ID ) ) {
		return;
	}

	$attachment_id = (int) $attachment->ID;
	$file          = get_attached_file( $attachment_id );
	$meta          = wp_get_attachment_metadata( $attachment_id );

	if ( empty( $meta ) && file_exists( $file ) ) {
		$_meta = get_post_meta( $attachment_id );
		$_lock = 'wp_generating_att_' . $attachment_id;

		if ( ! array_key_exists( '_wp_attachment_metadata', $_meta ) && ! get_transient( $_lock ) ) {
			set_transient( $_lock, $file );
			wp_update_attachment_metadata( $attachment_id, wp_generate_attachment_metadata( $attachment_id, $file ) );
			delete_transient( $_lock );
		}
	}
}

常见问题

FAQs
查看更多 >