[RESOLVED]
Plugin does not write the original PNG in the database – To fix this, you need
edit the code in:
/wp-admin/includes/image.php
find and add the code in function
function wp_generate_attachment_metadata( $attachment_id, $file )
if ( ! is_wp_error( $editor ) )
$metadata['sizes'] = $editor->multi_resize( $sizes );
} else {
$metadata['sizes'] = array();
}
/* START - kolshix for "PNG to JPG" ----
// add original PNG in databese image "_wp_attachment_metadata"
// call original image PNG <?php echo wp_get_attachment_image_url( $id, 'png_original' ) ?>
// у плагина должна стоять настройка автоматической подмены файлов PNG на JPG
// также должна стоять настройка сохранения оригинала PNG
// возьмем (адррес + файл) и зменим расширение на PNG
// если формат GIF TIF BMP - то они не пройдут проверку расширения - и база данных будет не тронута
// если файл JPG то он войдет в правило замены но не пройдет правило наличия файла PNG - которого нет, а значит база будет не тронута
// Когда грузите PNG - все будет отлично и он прайдет все правила
*/
$file_png = preg_replace("/\.jpg$/", ".png", $file);
$results_path_parts = pathinfo($file);
$results_extension = $results_path_parts['extension'];
$results_extension = mb_strtolower($results_extension);
if (file_exists( $file_png ) && $results_extension == 'jpg') {
$results = $metadata['file'];
$results = basename($results);
$results = preg_replace("/\.jpg$/", ".png", $results);
$metadata[sizes][png_original] = Array(
"file" => $results,
"width" => $metadata['width'], // ширину вытяну из metadata
"height" => $metadata['height'], // высоту вытяну из metadata
"mime-type" => "image/png"
);
}
/* END - kolshix for "PNG to JPG" ---- */
// Fetch additional metadata from EXIF/IPTC.
$image_meta = wp_read_image_metadata( $file );
if ( $image_meta )
Большое спасибо , плагин помог избавится от грамостских страниц с форматом ПНГ и позволил сохранить оригиналы для меня и моих пользователей! А главное Это БЕСПЛАТНО !
-
This reply was modified 7 years, 7 months ago by
kolshix.