Nếu bạn đang viết code cho phép upload lên thư viện media của WordPress thì nên tham khảo hàm bên dưới:
function hocwp_theme_upload_media_file_auto( $parent_post_id ) { $file = '/path/to/file.png'; $filename = basename( $file ); $upload = wp_upload_bits( $filename, null, file_get_contents( $file ) ); if ( ! $upload['error'] ) { $wp_filetype = wp_check_filetype( $filename, null ); $attachment = array( 'post_mime_type' => $wp_filetype['type'], 'post_parent' => $parent_post_id, 'post_title' => preg_replace( '/\.[^.]+$/', '', $filename ), 'post_content' => '', 'post_status' => 'inherit' ); $attachment_id = wp_insert_attachment( $attachment, $upload['file'], $parent_post_id ); if ( ! is_wp_error( $attachment_id ) ) { require_once( ABSPATH . 'wp-admin/includes/image.php' ); $attachment_data = wp_generate_attachment_metadata( $attachment_id, $upload['file'] ); wp_update_attachment_metadata( $attachment_id, $attachment_data ); } } }
Hàm wp_upload_bits
sẽ giúp bạn upload tập tin vào đúng thư mục media của WordPress. Chúc bạn thành công.