Skip to main content
FolksSpeakersPluginsThemesEventsSnippetsShippedCommunityResources
Login Join
Snippet · PHP

Enable image sideload from URL without file extension

Shared by Moshe Gross · April 28, 2026 · @wp_handle_sideload_prefilter

1 copy
6 views
1 upvote
Back to Snippets

Enables wordpress to sideload images from URL that don’t have file extension in the URL, very useful for WooCommerce CSV product importer

add_filter( 'wp_handle_sideload_prefilter', 'add_extension_if_none_exists' );
add_filter( 'wp_handle_upload_prefilter',   'add_extension_if_none_exists' );

function add_extension_if_none_exists( $file ) {
    if ( pathinfo( $file['name'], PATHINFO_EXTENSION ) ) {
        return $file;
    }

    $real_mime = wp_get_image_mime( $file['tmp_name'] );
    if ( ! $real_mime ) {
        return $file;
    }

    $mime_to_ext = apply_filters(
        'getimagesize_mimes_to_exts',
        array(
            'image/jpeg' => 'jpg',
            'image/png'  => 'png',
            'image/gif'  => 'gif',
            'image/bmp'  => 'bmp',
            'image/tiff' => 'tif',
            'image/webp' => 'webp',
        )
    );

    if ( ! empty( $mime_to_ext[ $real_mime ] ) ) {
        $file['name'] .= '.' . $mime_to_ext[ $real_mime ];
    }

    return $file;
}