thumbnail

Comment redimensionner / rogner une image sous WordPress sans timthumb.php ?

timthumb.php est sans doute l’un des scripts PHP les plus populaires sous WordPress. Il permet de rogner et de redimensionner à la volée vos images. Basé sur un système de cache, ce script n’en reste pas moins gourmand en CPU et présente de graves failles de sécurité… alors même que WordPress propose en natif des fonctionnalités de gestion des images similaires !

Le script timthumb.php permet un redimensionnement à la volée de vos images. Très populaire, ce script est devenu au fil des années une fonctionnalité de référence dans les thèmes premium jusqu’au jour où une faille de sécurité fut découverte.

Étape n°1 – Création d’une taille personnalisée

La première étape consiste à modifier votre fichier functions.php localisé dans le dossier /wp-content/NOM_DE_VOTRE_THEME/ ou de passer par le menu Apparence puis Editeur.

Rajoutez ensuite les lignes de code suivantes :

// Taille image perso

if ( function_exists( 'add_image_size' ) ) {
	add_image_size( 'taille-perso', 300, 100, true );
}

Détaillons les 4 paramètres disponibles de la fonction générique <?php add_image_size( $name, $width, $height, $crop ); ?>

  • $name : indiquez le nom du nouveau format. Ce nom permettra d’indiquer la taille d’image à insérer dans votre thème de la même manière que les tailles miniatures, moyenne, grande et originale ;
  • $width : largeur maximale de l’image une fois redimensionnée (optionnel) ;
  • $height : hauteur maximale de l’image une fois redimensionnée (optionnel) ;
  • $crop : rogner ou non l’image. Le paramètre False aura pour effet d’effectuer un redimensionnement proportionnel alors que le paramètre True effectuera un rognage centré (on zooms sur le centre de l’image) ;

Étape n°2 – Utiliser la nouvelle taille d’image dans votre thème

De la même manière que pour les miniatures de WordPress – que vous utilisez avec le module Image à la une, il nous faut indiquer dans le thème le nom de la nouvelle taille que nous venons de créer.

<?php if ( has_post_thumbnail() ) { the_post_thumbnail( 'taille-perso' ); } ?>

Bien entendu, si votre thème utilise déjà les miniatures, il suffit de rechercher cette fonction et de spécifier le nouveau nom.

Étape facultative – Régénérer les tailles d’images

En créant une nouvelle taille d’image, les médias déjà importés sous WordPress ne disposeront pas de cette nouvelle taille. Les fichiers supplémentaires étant créés à l’importation et pas à la volée comme timthumb.php ce qui est nettement plus performant au passage.

Rassurez-vous il existe un très bon plugin prévu pour cela que vous pouvez télécharger ici-même :

Regenerate Thumbnails

Plugin WordPress permettant de redimensionner des images déjà importés dans la bibliothèque de médias.

Taille : 173,4 KiB  •  Date : 3 décembre 2011 •  Hits : 769

Ce tutoriel vous aura donc appris à vous passer du script timthumb.php et à utiliser les fonctions natives de WordPress. Des questions ?

Aurélien Denis est le fondateur du projet WordPress Channel proposant tutoriels et podcasts librement téléchargeables. En 2010, il fonde Neticpro, une agence Web spécialisée WordPress. Il est aussi co-fondateur du site Protuts.net (tutoriels PC/Mac/Linux) et community manager pour l’Imagine Cup 2011/2012, une compétition mondiale organisée par Microsoft. Voir tous les tutoriels de Aurélien Denis →