Media: Optionally return attachment id from `media_sideload_image()`.

Introduces option to `$return` parameter to return the attachment id created after a successful image sideload.

Props slbmeh, kawauso, alexkingorg, SergeyBiryukov, georgestephanis, DrewAPicture, nacin, trepmal, mattheu, kraftbj, whyisjake, dotancohen, MrGregWaugh, danielbachhuber.
Fixes #19629.

git-svn-id: https://develop.svn.wordpress.org/trunk@40597 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Mike Schroder 2017-05-09 23:25:56 +00:00
parent c449b34f6c
commit cee49addad
1 changed files with 5 additions and 1 deletions

View File

@ -852,11 +852,12 @@ function wp_media_upload_handler() {
*
* @since 2.6.0
* @since 4.2.0 Introduced the `$return` parameter.
* @since 4.8.0 Introduced the 'id' option within the `$return` parameter.
*
* @param string $file The URL of the image to download.
* @param int $post_id The post ID the media is to be associated with.
* @param string $desc Optional. Description of the image.
* @param string $return Optional. Accepts 'html' (image tag html) or 'src' (URL). Default 'html'.
* @param string $return Optional. Accepts 'html' (image tag html) or 'src' (URL), or 'id' (attachment ID). Default 'html'.
* @return string|WP_Error Populated HTML img tag on success, WP_Error object otherwise.
*/
function media_sideload_image( $file, $post_id, $desc = null, $return = 'html' ) {
@ -886,6 +887,9 @@ function media_sideload_image( $file, $post_id, $desc = null, $return = 'html' )
if ( is_wp_error( $id ) ) {
@unlink( $file_array['tmp_name'] );
return $id;
// If attachment id was requested, return it early.
} elseif ( $return === 'id' ) {
return $id;
}
$src = wp_get_attachment_url( $id );