Ce tutoriel WordPress est entièrement gratuit.
Merci de désactiver votre bloqueur de pub ! =)

Définir d’autres dimensions d’image

Souvent, les 3 tailles par défaut ne suffisent pas

Dans Réglages -> Médias, WordPress par défaut permet de définir 3 tailles d’images:

À chaque que vous uploadez une image, WordPress générera 3 images additionnelles aux dimensions citées ci-dessus. L’image originale sera aussi uploadée (et utilisable). La seule contrainte est d’uploader une image plus grande que les tailles spécifiées. Donc si vous uploadez une image qui fait 400×300, seules les tailles miniature et moyenne seront générées.

Il faut savoir que la miniature est en hard crop: l’image sera redimensionnée exactement en 150×150, et tout ce qui dépasse sera tronqué. La partie gardée est le centre de l’image.

Ajouter une 4e taille d’image

On peut modifier les valeurs de ces 3 tailles d’image. Mais comment faire si on veut que WordPress génère une 4e taille d’image ? Par exemple une taille « panorama » de 1200×800?

Il faut utiliser la fonction add_image_size dans le fichier functions.php:

add_image_size( 'panorama', 1020, 360, true );

Les 4 paramètres sont:

On peut par ailleurs utiliser cette fonction pour ajouter le hard crop aux tailles moyenne (medium) et grande (large):

add_image_size( 'medium', 300, 150, true );
add_image_size( 'large', 640, 230, true );

Les valeurs utilisées ici prévalent sur celles définies dans Réglages -> Médias. Du coup, utilisez cette fonction pour medium et large uniquement si vous avez besoin d’ajouter le hard crop. Ou bien si vous voulez que votre thème définisse les valeurs quand on l’active, sans que l’utilisateur ait besoin de passer par l’admin.

Le mieux est d’appeler cette fonction avec l’action after_setup_theme:

function bbx_theme_setup() {
 add_image_size( 'panorama', 1020, 360, true );
 }
 add_action( 'after_setup_theme', 'bbx_theme_setup' );

D’ailleurs, j’utilise bbx_theme_setup pour d’autres fonctions du même type, comme add_theme_support ou load_theme_textdomain.