WordPress.org

Make WordPress Core

Opened 6 years ago

Closed 6 years ago

Last modified 5 years ago

#5466 closed enhancement (fixed)

Import file attachments

Reported by: tellyworth Owned by:
Milestone: 2.5 Priority: normal
Severity: normal Version:
Component: General Keywords: has-patch
Focuses: Cc:

Description

The enclosed patch supports file attachment importing with wxr files.

If the 'Import attachments' box is checked on step 2 of the import (the Assign Authors page), the importer will attempt to download attachments from their original URLs to the uploads dir of the local server. I've used the existing upload handling functions as much as possible, with a few tweaks here and there, so correct error handling and capability checks should be enforced.

HTTP fetching is with an expanded version of the wp_get_http_headers() function. I also took the opportunity to remove some duplicate code in wp-admin/includes/file.php.

For now the new import code is in WP_Import, but my plan is to eventually move much of it into a base class so it can be reused by the other importers.

Unit tests are inhttp://svn.automattic.com/wordpress-tests/wp-testcase/ - see test_import_wp.php, test_includes_file.php and test_includes_functions.php.

Attachments (1)

import_file_attachments-r6377.patch (12.9 KB) - added by tellyworth 6 years ago.

Download all attachments as: .zip

Change History (4)

comment:1 tellyworth6 years ago

  • Keywords has-patch added

Forgot to add: the importer will automatically adjust URLs in post_content to point to attachments at their new locations. It doesn't work with attachment page URLs, just the direct file URLs. Thumbnails aren't handled at all.

Here's an export file for testing: http://svn.automattic.com/wordpress-tests/wp-testdata/export/asdftestblog1.2007-12-14.xml

comment:2 lloydbudd6 years ago

  • Milestone changed from 2.5 to 2.4

comment:3 ryan6 years ago

  • Resolution set to fixed
  • Status changed from new to closed

(In [6390]) Import file attachments. Props tellyworth. fixes #5466

Note: See TracTickets for help on using tickets.