WordPress.org

Ready to get started?Download WordPress

Codex

it:Riferimento funzioni/add image size

Contents

Descrizione

Registra una nuova dimensione per le immagini. Questo significa che WordPress creerà una copia dell'immagine in evidenza (nota anche come "Miniatura articolo") con le dimensioni specificate quando viene caricata una nuova immagine.

Nota: Per abilitare le immagini in evidenza, o miniature articolo, il tema corrente deve includere add_theme_support( 'post-thumbnails' ); nel suo file functions.php. Vedere anche Post Thumbnails.

Utilizzo

<?php add_image_size$name$width$height$crop ); ?>

Parametri

$name
(string) (richiesto) Nome da assegnare alla nuova dimensione.
Default: Nessuno
$width
(int) (opzionale) Larghezza in pixel della miniatura.
Default: 0
$height
(int) (opzionale) Altezza in pixel della miniatura.
Default: 0
$crop
(boolean) (opzionale) Indica se ritagliare o meno l'immagine. False - Modalità di ritaglio proporzionale; True - Modalità di ritaglio netta.
Default: false

Nomi riservati

thumb, thumbnail, medium, large, post-thumbnail

I nomi "thumb" e "thumbnail" sono solo degli alias, quindi sono equivalenti.

Per una spiegazione maggiormente dettagliata, leggere l'articolo image_downsize().

Tuttavia, se necessario, è sempre possibile impostare le opzioni in questo modo:

update_option('thumbnail_size_w', 160);
update_option('thumbnail_size_h', 160);
update_option('thumbnail_crop', 1);

Esempi

Un file functions.php di un tema.

if ( function_exists( 'add_theme_support' ) ) {
	add_theme_support( 'post-thumbnails' );
        set_post_thumbnail_size( 150, 150 ); // dimensioni di default della miniatura
}

if ( function_exists( 'add_image_size' ) ) { 
	add_image_size( 'category-thumb', 300, 9999 ); // larghezza 300 pixel (e altezza illimitata)
	add_image_size( 'homepage-thumb', 220, 180, true ); // (ritagliata)
}

Modalità di ritaglio

Imposta la dimensione dell'immagine ridimensionandola proporzionalmente (ossia, senza distorcerla):

add_image_size( 'homepage-thumb', 220, 180 ); // larghezza 220 pixel per altezza 180 pixel, modalità di ritaglio proporzionale

Imposta la dimensione dell'immagine ritagliando l'immagine (o dai lati o dalla cima e dal fondo):

add_image_size( 'homepage-thumb', 220, 180, true ); // larghezza 220 pixel per altezza 180 pixel, modalità di ritaglio netta

Usare le nuove dimensioni delle immagini

Una volta definite le dimensioni personalizzate, è possibile usarle in vari modi.

Per le immagini in evidenza

Una dimensione personalizzata può essere usata per l'immagine in evidenza di un post richiamando la funzione the_post_thumbnail() nel file appropriato del tema.

<?php 
    if ( has_post_thumbnail() ) { 
        the_post_thumbnail( 'dimensione-personalizzata' ); 
    } 
?>

Per le immagini della Media Library (Admin)

È anche possibile rendere le dimensioni personalizzate selezionabili dal pannello di amministrazione. Per fare ciò, bisogna usare il filtro image_size_names_choose per assegnare loro un nome leggibile.

add_filter( 'image_size_names_choose', 'my_custom_sizes' );

function my_custom_sizes( $sizes ) {
    return array_merge( $sizes, array(
        'dimensione-personalizzata' => __('Nome della dimensione personalizzata'),
    ) );
}

Per le immagini in generale (PHP/Templates)

Si possono avere in output immagini (per dimensione) direttamente dalla Media Library di WordPress usando anche PHP. Per fare ciò, basta usare wp_get_attachment_image().

// Assumendo che l'immagine nella Media Library abbia ID 42
<?php echo wp_get_attachment_image( 42, 'dimensione-personalizzata' ) ?>

Nota: Se si vuole ottenere solo l'URL dell'immagine invece del tag <img> preconfezionato, si può usare wp_get_attachment_image_src().

Note

Usare l'impostazione 'false' impedirà di produrre una nuova immagine nella cartella degli upload se una delle dimensioni dell'immagine caricata è uguale alla nuova dimensione immagine.

Log delle modifiche

File sorgente

add_image_size() si trova in wp-includes/media.php.

Risorse

Regenerate Thumbnails - Questo plugin rigenera le miniature degli allegati immagine. Risulta molto comodo quando si cambia qualcuna delle dimensioni delle miniature (attraverso Impostazioni -> Media) dopo aver precedentemente caricato immagini o aver cambiato il tema con uno che ha dimensioni differenti per le immagini in evidenza.

AJAX thumbnail rebuild - Questo plugin permette di ricostruire le miniature dei post. Utile se si usa add_image_size() dopo aver già caricato miniature. (Questo plugin è lento, ma non da mai errori di memoria esaurita).

Simple Image Sizes - Questo plugin permette di creare nuove dimensioni delle miniature direttamente dal pannello "Media". Permette anche di rigenerare le miniature. Il plugin aggiunge le miniature alle dimensioni del post, ed è anche possibile aggiungerle direttamente nei tuoi post. Si possono scegliere le dimensioni che si vogliono rigenerare e anche i tipi di post.

Correlati

Immagini in evidenza: has_post_thumbnail(), the_post_thumbnail(), get_post_thumbnail_id(), get_the_post_thumbnail(), add_image_size(), set_post_thumbnail_size()

Si veda anche l'indice di Riferimento funzioni e l'indice di Tag dei template.