Switch language

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




media_handle_upload [ WordPress Function ]

media_handle_upload ( $file_id, $post_id, $post_data = array(), $overrides = array( 'test_form' => false ) )
Parameters:
  • (string) $file_id Index into the {@link $_FILES} array of the upload
  • (int) $post_id The post ID the media is associated with
  • (array) $post_data allows you to overwrite some of the attachment
  • (array) $overrides allows you to override the {@link wp_handle_upload()} behavior
Returns:
  • (int) the ID of the attachment
Defined at:



{@internal Missing Short Description}}

This handles the file upload POST itself, creating the attachment post.

Source


<?php
function media_handle_upload($file_id$post_id$post_data = array(), $overrides = array( 'test_form' => false )) {

    
$time current_time('mysql');
    if ( 
$post get_post($post_id) ) {
        if ( 
substr$post->post_date0) > )
            
$time $post->post_date;
    }

    
$name $_FILES[$file_id]['name'];
    
$file wp_handle_upload($_FILES[$file_id], $overrides$time);

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

    
$name_parts pathinfo($name);
    
$name trimsubstr$name0, -(strlen($name_parts['extension'])) ) );

    
$url $file['url'];
    
$type $file['type'];
    
$file $file['file'];
    
$title $name;
    
$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'];
    }

    
// 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 data
    
$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