[AUTOMATIQUE] Cet article a plus de 5 ans.
Il se peut donc que les informations qu'il fournit ne soient plus totalement exactes.

Cette fonction a une utilité assez particulière puisqu’elle permet de remplacement l’image originale (donc celle que vous avez uploadée) par la thumbnail « large » si l’image originale est plus grande que la miniature « large ».

L’objectif est donc de gagner de la place sur votre serveur. Si vous avez beaucoup de post par exemple cette solution pourrait vous aider.

Vous n’avez rien à faire à part coller cette fonction dans votre fichier functions.php, elle s’occupera de tout automatiquement puisqu’elle « hook » la fonction qui permet de générer les attachents.

Je me suis servi de cette fonction en parallèle de celle qui permet de renommer une image lorsqu’elle est téléchargée depuis une URL.

function replace_uploaded_image($image_data) {
	if ( (!isset($image_data['sizes']['temp-thumbnail']) && !isset($image_data['sizes']['rt_media_single_image']))) {
		return $image_data;
	} else {

		$upload_dir = wp_upload_dir();
		$uploaded_image_location = $upload_dir['basedir'] . '/' .$image_data['file'];

		if (isset($image_data['sizes']['temp-thumbnail'])) {
			//wordpress default thumbnails
			$the_image = $image_data['sizes']['temp-thumbnail'];
			$large_image_location = $upload_dir['basedir'] . '/' . substr($image_data['file'], 0, 8) . $the_image['file'];
		} else if (isset($image_data['sizes']['rt_media_single_image'])) {
			//rtmedia default thumbnails
			$the_image = $image_data['sizes']['rt_media_single_image'];
			$large_image_location = $upload_dir['path'] . '/' . $the_image['file'];
		}
	}
	
	unlink($uploaded_image_location);
	rename($large_image_location,$uploaded_image_location);
	
	$image_data['width'] = $the_image['width'];
	$image_data['height'] = $the_image['height'];
	unset($the_image);
	
	return $image_data;
}

add_filter('wp_generate_attachment_metadata','replace_uploaded_image');

A noter que cette fonction ne sera appliquée que sur les images de couverture.

Source : www.wprecipes.com

Article rédigé parBrice CAPOBIANCO

Autodidacte passionné par WordPress. J'aime apprendre et créer pour ensuite partager !

Coorganisateur des Meetups WordPress Rennes et fondateur de bweb.
Partager cet article

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *