WordPress: ridimensionare le immagini con dimensioni personalizzate

Com'è noto, WordPress è in grado di ridimensionare le immagini in vari formati a partire dall'immagine originale caricata nella Media Library. Per impostazione predefinita si possono definire quattro dimensioni per le immagini, ossia thumbnail, medium, large e full, i cui valori di larghezza ed altezza possono essere specificati nella voce Media delle impostazioni di WordPress. Ma è altrettanto noto che le possibilità offerte da WordPress non finiscono qui.

La funzione add_image_size() ci permette di registrare un nuovo formato per le immagini. La sua sintassi è la seguente:

add_image_size( $name, $width, $height, $crop );

I parametri sono i seguenti:

  • $name: il nome del nuovo formato
  • $width, $height: larghezza ed altezza in pixel
  • $crop: se specificato, questo parametro definisce il tipo di crop sulle immagini; false indica un crop soft, true un crop hard (il valore predefinito è false)

Nel file functions.php del nostro tema possiamo scrivere:


if ( function_exists( 'add_image_size' ) ) { 
	add_image_size( 'category-thumb', 300, 250 );
	add_image_size( 'homepage-thumb', 220, 180, true ); // crop
}

Quindi possiamo usare il nuovo formato con le funzioni the_post_thumbnail() o get_the_post_thumbnail():


<article id="post-<?php the_ID();?>" class="article">
	<header>
		<hgroup>
			<h1><?php the_title();?></h1>
			<h2><?php echo get_the_excerpt();?></h2>
		</hgroup>
		<?php the_post_thumbnail('category-thumb');?>
	</header>
	<!-- continua -->
</article>

Da tenere presente che se il parametro di crop è impostato su true, WordPress eseguirà il ridimensionamento senza tenere conto delle proporzioni intrinseche dell'immagine. Quindi se avete un'immagine di 400 x 310 pixel e specificate una nuova dimensione di 100 x 100, l'immagine potrebbe apparire deformata.

Torna su