Intereting Posts

Обрезка, повторная калибровка и сохранение изображений из одной папки в другую папку в wordpress

Я добавляю обновление для плагина WordPress, которое я разработал много веков назад. Этот плагин – это просто каталог продуктов, поэтому просто показывайте продукты и их изображения. Продукты могут иметь более одного изображения.

Я переформатировал изображения в старой версии плагина с помощью CSS, назначив им ширину и высоту. Который работал, но изображения выглядели растянутыми, но пользователи были довольны. Теперь я добавил новую функцию в плагин, который предназначен для обрезки и изменения размера из загруженного изображения и сохранения его с другим именем, например thumbnail.jpg. Новая функция отлично работает для новых пользователей, которые загружают изображения, но дело в том, что старые пользователи обновили до более новой версии.

Проблема состоит в том, что у старых пользователей уже есть продукты и изображения. Когда я пытаюсь получить все продукты и изображения через цикл foreach , он отлично работает на 200 – 250 изображениях, но разбивается на более чем 250 изображений – No Error 🙁

Многие из моих старых пользователей имеют более 600 изображений, поэтому мне нужен способ обрезать и изменять размер существующих изображений и сохранять их с новым именем и сохранять имена файлов в БД.

Я использую WordPress по умолчанию wp_get_image_editor(); функция.

Вот мой запрос, чтобы получить старые продукты с изображениями:

 $wpc_product_images_sql = "Select wpc_posts.*, wpc_meta.* From " . $wpdb->posts . " As wpc_posts Inner Join " . $wpdb->postmeta . " As wpc_meta On wpc_posts.ID = wpc_meta.post_id Where wpc_meta.meta_key = 'product_images' Order By wpc_posts.post_title; 

И вот мои петли foreach (я использую две петли. Сначала я получаю продукты с изображениями, а второй цикл – для получения изображений с каждого сообщения, как я уже упоминал ранее в своем вопросе о том, что продукты могут иметь более одного поэтому нужно использовать две петли)

 foreach ($wpc_images_qry as $wpc_prod_images) { echo '<div class="wpc_image_body">' . '<h3>' . $wpc_prod_images->post_title . '</h3>' . '<div class="wpc_images">'; $wpc_post_id = $wpc_prod_images->ID; $wpc_product_images = get_post_meta($wpc_post_id, 'product_images', true); $big_img_name = array(); foreach ($wpc_product_images as $wpc_prod_img) { /// For Big $big_resize_img = wp_get_image_editor($wpc_prod_img['product_img']); if (!is_wp_error($big_resize_img)) { $product_big_img = $wpc_prod_img['product_img']; $product_img_explode = explode('/', $product_big_img); $product_img_name = end($product_img_explode); $product_img_name_explode = explode('.', $product_img_name); $product_img_name = $product_img_name_explode[0]; $product_img_ext = $product_img_name_explode[1]; $big_crop = array('center', 'center'); $big_resize_img->resize($wpc_image_width, $wpc_image_height, $big_crop); $big_filename = $big_resize_img->generate_filename('big-' . $wpc_image_width . 'x' . $wpc_image_height, $upload_dir['path'], NULL); $big_resize_img->save($big_filename); $big_img_name[]['wpc_big_img'] = $upload_dir['url'] . '/' . $product_img_name . '-big-' . $wpc_image_width . 'x' . $wpc_image_height . '.' . $product_img_ext; if (file_exists($upload_dir['path'] . '/' . $product_img_name . '-big-' . $wpc_image_width . 'x' . $wpc_image_height . '.' . $product_img_ext)) { echo $upload_dir['path'] . '/' . $product_img_name . '-big-' . $wpc_image_width . 'x' . $wpc_image_height . '.' . $product_img_ext . ' - <strong style="color: #7ad03a;">OK</strong><br>'; } else { echo $upload_dir['path'] . '/' . $product_img_name . '-big-' . $wpc_image_width . 'x' . $wpc_image_height . '.' . $product_img_ext . ' <strong style="color: red">:(</strong><br>'; } } } update_post_meta($wpc_post_id, 'wpc_big_images', $big_img_name); echo '</div>' . '</div>'; } 

Solutions Collecting From Web of "Обрезка, повторная калибровка и сохранение изображений из одной папки в другую папку в wordpress"

Если я правильно понял, вы просто хотите, чтобы старые изображения были обновлены, чтобы быть похожими на более новые изображения?

Сначала создайте резервную копию данных , но если я понял, просто переделать ваши наборы изображений с помощью плагина, такого как « Регенерировать миниатюры», следует сделать трюк.

Проверьте это на копии разработки вашего сайта, хотя!