PNG to JPG

Description

Convert PNG images to JPG, free up web space and speed up your webpage

  • set quality of converted JPG
  • auto convert on upload
  • auto convert on upload only when PNG has no transparency
  • convert existing PNG image to JPG
  • bulk convert existing PNG images to JPG

Installation

  1. Upload png-to-jpg directory to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress

FAQ

Installation Instructions
  1. Upload png-to-jpg directory to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress

Reviews

100% great + my edit

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, 'full' ) ?> 
// call image size like original PNG <?php echo wp_get_attachment_image_url( $id, 'as_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') {
     
     //## wp_postmeta => _wp_attachment_metadata 
     // запись name.jpg как большой копии name.png - добавляем большую копию в качестве миниатюры
     $image_ex_jpg = basename($metadata['file']);  
     $metadata[sizes][as_original] = Array(
		"file" => $image_ex_jpg,
		"width" => $metadata['width'],   // ширину вытяну из metadata
		"height" => $metadata['height'],  // высоту вытяну из metadata
		"mime-type" => "image/jpeg"
	 ); 
	 
	 // в _wp_attachment_metadata => главная картинка в формате PNG
     $metadata[file] = preg_replace("/\.jpg$/", ".png", $metadata[file]);
	 
 
	 //## wp_posts
	 $image_ex_png = preg_replace("/\.jpg$/", ".png", $image_ex_jpg);

     $upload_dir = wp_upload_dir();
     global $wpdb;
     wp_update_post(array( 'ID' => $attachment_id, 'post_mime_type' => 'image/png' ));
     
     	$wpdb->update( 
			$wpdb->posts, 
			array( 'guid' => $upload_dir["url"] . '/' . $image_ex_png ),
			array( 'ID' => $attachment_id ), 
			array( '%s' ), 
			array( '%d' ) 
		);
		
	 //## wp_postmeta => _wp_attached_file
	 // wp_postmeta => _wp_attached_file => указать что главное вложение в формате PNG
	 $meta = get_post_meta( $attachment_id, '_wp_attached_file', 1 );
	 $meta = preg_replace("/\.jpg$/", ".png", $meta);
	 update_post_meta( $attachment_id, '_wp_attached_file', $meta );

}

/* END - kolshix for "PNG to JPG" ---- */ 

		// Fetch additional metadata from EXIF/IPTC.
		$image_meta = wp_read_image_metadata( $file );
		if ( $image_meta )

Большое спасибо , плагин помог избавится от грамостских страниц с форматом ПНГ и позволил сохранить оригиналы для меня и моих пользователей! А главное Это БЕСПЛАТНО !

—-
ВАЖНО! при генерации миниатюр – плагины генерируют новые PNG файлы а миниатюры в jpg не удаляют

этот код дополняет плагин
что делает код :
1 проверяет подходящий формат именно PNG
2 редактирует базу данных
2.1 выставляет в wp_postmeta -> _wp_attached_file файл PNG как оригинал
2.2 выставляет в wp_postmeta -> _wp_attachment_metadatа файл PNG на первое место а форматы JPG ставит как миниатюры
2.3 добавляет в wp_postmeta -> _wp_attachment_metadatа миниатюру в размер оригинала и вызывается по размеру “as_original”
3 в wp_posts выставляет вместо формата JPG формат PNG

ВЫВОД
плагин создает Копию оригинала PNG в формате JPG + миниатюры, а мой код застовляет поинимать вордпрес что главная картинка в PNG – а остальные миниатюры в JPG

Thank you!

Great plugin! And do his job without pushing to buy extra features, not like other what is on the TOP…

But ppl so … if they see 2000 installs against 300 think this one is bad =)

SAVE YOURSELF!!!

This plugin can save you years of time and effort! If you have lots of images on your site, this is the best way to go! The ability to manually do each one is priceless, as you can really micro manage as needed.

And the bulk function will serve those who really have no need to do so!

FANTASTIC PLUGIN, THANK YOU!!!!

Read all 6 reviews

Contributors & Developers

“PNG to JPG” is open source software. The following people have contributed to this plugin.

Contributors

Translate “PNG to JPG” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

2.1

  • Added option to leave original PNG image on server after conversion
  • Repair SQL replacement query

2.0

  • Replace image and thumbnails extension in database tables
  • Moved from Settings to Tools submenu
  • Some small fixes

1.2

  • Fix generating background for transparent images (thanks @darkcobalt)

1.1

  • Fix PNG transparency detection

1.0

  • First version