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:
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.