function product_imager_set_images() { check_ajax_referer('product_imager_nonce', 'security'); $product_id = isset($_POST['product_id']) ? intval($_POST['product_id']) : 0; $image_urls = isset($_POST['image_urls']) ? (array) $_POST['image_urls'] : []; if (empty($product_id)) { wp_send_json_error(['message' => __('Error: Product ID is missing.', 'product-imager')]); } if (empty($image_urls)) { wp_send_json_error(['message' => __('Error: No images were selected.', 'product-imager')]); } // Define the uploads directory for downloaded images $upload_dir = wp_upload_dir(); $product_images_dir = $upload_dir['basedir'] . '/productimages'; // Ensure the directory exists if (!file_exists($product_images_dir)) { if (!wp_mkdir_p($product_images_dir)) { wp_send_json_error(['message' => __('Error: Failed to create directory for images.', 'product-imager')]); } } $attachment_ids = []; foreach ($image_urls as $image_url) { if (!filter_var($image_url, FILTER_VALIDATE_URL)) { continue; // Skip invalid URLs } $image_data = wp_remote_get($image_url); if (is_wp_error($image_data)) { continue; // Skip failed downloads } $image_body = wp_remote_retrieve_body($image_data); $image_name = sanitize_file_name(basename(parse_url($image_url, PHP_URL_PATH))); $file_path = $product_images_dir . '/' . $image_name; // Save the image locally if (file_put_contents($file_path, $image_body) !== false) { // Add the image to the WordPress Media Library $attachment_id = media_handle_sideload([ 'name' => $image_name, 'tmp_name' => $file_path, ], 0); if (is_wp_error($attachment_id)) { unlink($file_path); // Clean up failed uploads continue; } $attachment_ids[] = $attachment_id; } } if (empty($attachment_ids)) { wp_send_json_error(['message' => __('Error: No images were successfully uploaded.', 'product-imager')]); } // Set the first image as the featured image set_post_thumbnail($product_id, $attachment_ids[0]); // Add additional images to the product gallery if (count($attachment_ids) > 1) { update_post_meta($product_id, '_product_image_gallery', implode(',', array_slice($attachment_ids, 1))); } wp_send_json_success(['message' => __('Product images updated successfully!', 'product-imager')]); } Parpan Brioche Rolls 96/Case – Horizon Foods – Wholesale Food Distributor
et-loader

Needing Assistance? Call Us: 443-402-1728

Parpan Brioche Rolls 96/Case

SKU:

$15.56

Available: 299
🔥 8 items sold in last 3 months
27 people are viewing this product in the last 3 months.
or
Secured Checkout: Pay safely with Visa Pay safely with Master Card Pay safely with PayPal Pay safely with American Express Pay safely with Maestro Pay safely with Bitcoin
Cash Discount on Pickup Eligible

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Placeholder Parpan Brioche Rolls 96/Case

$15.56

299 in stock

Recent Products

Cash Discounting Available
Secure Payments
100% Satisfaction Guarantee!
Top-Notch Shopping

Recent Products

Account Menu
Account Menu
Address

704 Pulaski Hwy, Joppatowne, MD 21085

Information

Hotline: 443-402-1728
jennifer@horizonfoodstore.com

Follow Us

Cart