wp_maybe_generate_attachment_metadata()
Maybe attempts to generate attachment metadata, if missing.
Uses: get_attached_file(), wp_get_attachment_metadata(), wp_update_attachment_metadata(), wp_generate_attachment_metadata()
No Hooks.
Return
null
. Nothing.
Usage
wp_maybe_generate_attachment_metadata( $attachment );
- $attachment(WP_Post) (required)
- Attachment object.
Changelog
Since 3.9.0 | Introduced. |
Code of wp_maybe_generate_attachment_metadata() wp maybe generate attachment metadata WP 5.9.3
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 ); } } }