Registra una nuova dimensione di immagine.

Parametri

$nome

(stringa)(Richiesto)Identificatore delle dimensioni dell'immagine.

$larghezza

(int)(Opzionale) Larghezza dell'immagine in pixel. Valore predefinito 0.

$altezza

(int)(Opzionale) Altezza dell'immagine in pixel. Valore predefinito 0.

$Crop

(bool|array)(Opzionale)Comportamento del ritaglio dell'immagine. Se false, l'immagine viene ridimensionata (impostazione predefinita). Se true, l'immagine viene ritagliata alle dimensioni specificate usando le posizioni centrali. Se è una matrice, l'immagine verrà ritagliata usando la matrice per specificare la posizione di ritaglio. I valori della matrice devono essere nel formato: array( x_crop_position, y_crop_position ) dove:

  • x_crop_position accetta: 'sinistra', 'centro' o 'destra'.
  • y_crop_position accetta: 'superiore', 'centrale' o 'inferiore'.

Valore predefinito: false

Altre informazioni

Nomi riservati delle dimensioni dell'immagine

'thumb', 'thumbnail', 'medium', 'large', 'postthumbnail'

I nomi "thumb" e "thumbnail" sono solo degli alias: sono esattamente la stessa cosa.

Per una spiegazione dettagliata e il "perché", leggere l'articolo image_downsize().

Tuttavia, se necessario, è sempre possibile impostare le opzioni da soli:

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

Modalità di ritaglio

Imposta le dimensioni dell'immagine ridimensionandola in modo proporzionale (senza distorcerla):

add_image_size('custom-size',220,180);// 220 pixels wide by 180 pixels tall, soft proportional crop mode

Imposta le dimensioni dell'immagine ritagliandola (senza mostrarne una parte):

add_image_size('custom-size',220,180,true);// 220 pixels wide by 180 pixels tall, hard crop mode

Impostare le dimensioni dell'immagine ritagliando l'immagine e definendo una posizione di ritaglio:

add_image_size('custom-size',220,220,array('left','top'));// Hard crop left top

Quando si imposta una posizione di ritaglio, il primo valore della matrice è la posizione di ritaglio dell'asse x, il secondo è la posizione di ritaglio dell'asse y.

  • x_crop_position accetta 'sinistra' 'centro' o 'destra'.
  • y_crop_position accetta 'superiore', 'centrale' o 'inferiore'.

Per impostazione predefinita, questi valori sono impostati su 'centro' quando si utilizza la modalità di ritaglio rigido.

Si possono trovare esempi dei vari tipi di ritaglio qui.

Utilizzo delle nuove dimensioni delle immagini

Ora che sono state definite le dimensioni personalizzate delle immagini, è possibile utilizzarle in vari modi.
Per le immagini in primo piano

Per usare le dimensioni delle immagini personalizzate per l'immagine in primo piano di un post, si può usare the_post_thumbnail() nel file del template del tema appropriato...

Nota: per abilitare le immagini in primo piano, il tema corrente deve includere add_theme_support( 'post-thumbnails' ); nel suo file functions.php. Vedere anche Anteprime dei post.

if(has_post_thumbnail()){the_post_thumbnail('your-custom-size');}

Per le immagini della mediateca (Admin)

È anche possibile rendere le dimensioni personalizzate selezionabili dall'amministrazione di WordPress. Per farlo, è necessario utilizzare il gancio image_size_names_choose per assegnare loro un nome normale, leggibile dall'uomo...

add_filter('image_size_names_choose','my_custom_sizes');functionmy_custom_sizes($sizes){returnarray_merge($sizes,array('your-custom-size'=>__('Your Custom Size Name'),));}

Per i media in generale (PHP/Modelli)

È possibile ottenere le immagini (per dimensione) direttamente dalla libreria multimediale di WordPress utilizzando anche PHP. Per farlo, basta usare wp_get_attachment_image().

// Assuming your Media Library image has a post id of 42...echowp_get_attachment_image(42,'your-custom-size');

Nota: se si desidera solo l'URL dell'immagine invece di un file pre-costruito si può usare wp_get_attachment_image_src().

Altre note:

Utilizzando l'impostazione 'false' non si riuscirà a produrre una nuova immagine nella cartella di caricamento se una delle dimensioni dell'immagine caricata è uguale alla dimensione della nuova immagine.

Se una dimensione dell'immagine registrata viene rimossa da functions.php, qualsiasi immagine caricata prima di quel momento e poi cancellata dalla libreria multimediale non viene cancellata con le dimensioni generate automaticamente. Vengono cancellate solo le dimensioni delle immagini esistenti in functions.php.

Sebbene altezza e larghezza non siano parametri obbligatori, i loro valori predefiniti (0) porteranno a comportamenti indesiderati, quindi è bene definirli sempre. Utilizzare un valore di 9999 per definire l'altra dimensione come quella da considerare quando viene eseguito il ridimensionamento dell'immagine.

Fonte

File: wp-includes/media.php

functionadd_image_size($name,$width=0,$height=0,$crop=false){global$_wp_additional_image_sizes;$_wp_additional_image_sizes[$name]=array('width'=>absint($width),'height'=>absint($height),'crop'=>$crop,);}

Correlato

Utilizzi

Usi Descrizione
wp-includes/functions.php: absint()

Converte un valore in un numero intero non negativo.

Usato da

Usato da Descrizione
wp-includes/media.php: _wp_add_additional_image_sizes()

Aggiunge ulteriori dimensioni predefinite per le immagini.

wp-includes/media.php: set_post_thumbnail_size()

Registra la dimensione dell'immagine per la miniatura del post.

Changelog

Versione Descrizione
2.9.0 Introdotto.