Switch language

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




media_handle_sideload [ WordPress Function ]

media_handle_sideload ( $file_array, $post_id, $desc = null, $post_data = array() )
Parameters:
  • (array) $file_array Array similar to a {@link $_FILES} upload array
  • (int) $post_id The post ID the media is associated with
  • (string) $desc Description of the sideloaded file
  • (array) $post_data allows you to overwrite some of the attachment
Returns:
  • (int|object) The ID of the attachment or a WP_Error on failure
Defined at:



This handles a sideloaded file in the same way as an uploaded file is handled by {@link media_handle_upload()}

Source


<?php
function media_handle_sideload($file_array$post_id$desc null$post_data = array()) {
    
$overrides = array('test_form'=>false);

    
$file wp_handle_sideload($file_array$overrides);
    if ( isset(
$file['error']) )
        return new 
WP_Error'upload_error'$file['error'] );

    
$url $file['url'];
    
$type $file['type'];
    
$file $file['file'];
    
$title preg_replace('/\.[^.]+$/'''basename($file));
    
$content '';

    
// use image exif/iptc data for title and caption defaults if possible
    
if ( $image_meta = @wp_read_image_metadata($file) ) {
        if ( 
trim$image_meta['title'] ) && ! is_numericsanitize_title$image_meta['title'] ) ) )
            
$title $image_meta['title'];
        if ( 
trim$image_meta['caption'] ) )
            
$content $image_meta['caption'];
    }

    if ( isset( 
$desc ) )
        
$title $desc;

    
// Construct the attachment array
    
$attachment array_merge( array(
        
'post_mime_type' => $type,
        
'guid' => $url,
        
'post_parent' => $post_id,
        
'post_title' => $title,
        
'post_content' => $content,
    ), 
$post_data );

    
// This should never be set as it would then overwrite an existing attachment.
    
if ( isset( $attachment['ID'] ) )
        unset( 
$attachment['ID'] );

    
// Save the attachment metadata
    
$id wp_insert_attachment($attachment$file$post_id);
    if ( !
is_wp_error($id) )
        
wp_update_attachment_metadata$idwp_generate_attachment_metadata$id$file ) );

    return 
$id;
}
?>

Examples [ wp-snippets.com ]

Top Google zoekresultaten

Meer ...

0 User Note(s)

Nog geen één. Wees de eerste!

Nieuw toevoegen ...



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