Switch language

wpseek.com
A WordPress-centric search engine for devs and theme authors




wp_generate_attachment_metadata [ WordPress Function ]

wp_generate_attachment_metadata ( $attachment_id, $file )
Parameters:
  • (int) $attachment_id Attachment Id to process.
  • (string) $file Filepath of the Attached image.
Returns:
  • (mixed) Metadata for attachment.
Defined at:



Generate post thumbnail attachment meta data.

Source


<?php
function wp_generate_attachment_metadata$attachment_id$file ) {
    
$attachment get_post$attachment_id );

    
$metadata = array();
    if ( 
preg_match('!^image/!'get_post_mime_type$attachment )) && file_is_displayable_image($file) ) {
        
$imagesize getimagesize$file );
        
$metadata['width'] = $imagesize[0];
        
$metadata['height'] = $imagesize[1];
        list(
$uwidth$uheight) = wp_constrain_dimensions($metadata['width'], $metadata['height'], 12896);
        
$metadata['hwstring_small'] = "height='$uheight' width='$uwidth'";

        
// Make the file path relative to the upload dir
        
$metadata['file'] = _wp_relative_upload_path($file);

        
// make thumbnails and other intermediate sizes
        
global $_wp_additional_image_sizes;

        foreach ( 
get_intermediate_image_sizes() as $s ) {
            
$sizes[$s] = array( 'width' => '''height' => '''crop' => false );
            if ( isset( 
$_wp_additional_image_sizes[$s]['width'] ) )
                
$sizes[$s]['width'] = intval$_wp_additional_image_sizes[$s]['width'] ); // For theme-added sizes
            
else
                
$sizes[$s]['width'] = get_option"{$s}_size_w" ); // For default sizes set in options
            
if ( isset( $_wp_additional_image_sizes[$s]['height'] ) )
                
$sizes[$s]['height'] = intval$_wp_additional_image_sizes[$s]['height'] ); // For theme-added sizes
            
else
                
$sizes[$s]['height'] = get_option"{$s}_size_h" ); // For default sizes set in options
            
if ( isset( $_wp_additional_image_sizes[$s]['crop'] ) )
                
$sizes[$s]['crop'] = intval$_wp_additional_image_sizes[$s]['crop'] ); // For theme-added sizes
            
else
                
$sizes[$s]['crop'] = get_option"{$s}_crop" ); // For default sizes set in options
        
}

        
$sizes apply_filters'intermediate_image_sizes_advanced'$sizes );

        foreach (
$sizes as $size => $size_data ) {
            
$resized image_make_intermediate_size$file$size_data['width'], $size_data['height'], $size_data['crop'] );
            if ( 
$resized )
                
$metadata['sizes'][$size] = $resized;
        }

        
// fetch additional metadata from exif/iptc
        
$image_meta wp_read_image_metadata$file );
        if ( 
$image_meta )
            
$metadata['image_meta'] = $image_meta;

    }

    return 
apply_filters'wp_generate_attachment_metadata'$metadata$attachment_id );
}
?>

Examples [ wp-snippets.com ]

Google Arama Sonuçlarý

Dahasý ...

0 User Note(s)

Henüz yok. Ýlk sen ol!

Yeni Ekle ...



HTML5 Powered with CSS3 / Styling, Performance & Integration, and Semantics