PluginProbe
Extendify / trunk
Extendify vtrunk
3.2.1 3.2.0 3.1.6 3.1.5 3.1.4 3.1.3 3.1.2 3.1.1 3.1.0 3.0.6 3.0.5 3.0.4 trunk 0.1.0 0.10.0 0.10.1 0.10.2 0.11.0 0.11.1 0.2.0 0.3.0 0.3.1 0.4.0 0.5.0 0.6.0 All 127 releases
← All changes | app/Launch/Services/WooCommerceImporter.php +6 -7 3.1.1 → trunk View file →
@@ -10,8 +10,9 @@
10 10
11 11 use Extendify\Config;
12 12 use Extendify\Constants;
13 13 use Extendify\PartnerData;
14 +use Extendify\Shared\Services\Import\ImageUploader;
14 15 use Extendify\Shared\Services\Sanitizer;
15 16
16 17 /**
17 18 * WooCommerceImporter class.
@@ -130,8 +131,10 @@
130 131 if (!count($images)) {
131 132 return;
132 133 }
133 134
135 + $productGalleryImages = [];
136 +
134 137 foreach ($images as $index => $imageUrl) {
135 138 $imageId = $this->uploadImage($imageUrl);
136 139 if (!is_wp_error($imageId)) {
137 140 $productGalleryImages[] = $imageId;
@@ -149,17 +152,13 @@
149 152 /**
150 153 * Uploads an image from URL to WordPress media library.
151 154 *
152 155 * @param string $url Image URL to upload.
153 - * @return int|false Attachment ID on success, false on failure.
156 + * @return int|\WP_Error Attachment ID on success, WP_Error on failure.
154 157 */
155 158 public function uploadImage(string $url)
156 159 {
157 - if (! function_exists('\media_sideload_image')) {
158 - require_once ABSPATH . 'wp-admin/includes/media.php';
159 - require_once ABSPATH . 'wp-admin/includes/file.php';
160 - require_once ABSPATH . 'wp-admin/includes/image.php';
161 - }
160 + $uploaded = (new ImageUploader())->uploadImage($url);
162 161
163 - return \media_sideload_image($url, 0, null, 'id');
162 + return is_wp_error($uploaded) ? $uploaded : $uploaded['attachment_id'];
164 163 }
165 164 }