Questo codice PHP è utilizzato in un tema WordPress per abilitare e gestire il supporto delle miniature (thumbnails) e delle immagini con dimensioni personalizzate.
Introduzione al codice:
- Abilitazione delle miniature: La funzione
add_theme_support( 'post-thumbnails' );
viene utilizzata per abilitare il supporto delle immagini in evidenza (thumbnails) all’interno del tema WordPress. Questo consente agli utenti di assegnare immagini in evidenza ai loro post o pagine. - Creazione di nuove dimensioni immagine: Le chiamate a
add_image_size()
servono a definire nuove dimensioni di immagine personalizzate. Ogni immagine ha una larghezza specifica (come 480, 640, 720 pixel, ecc.) mentre l’altezza è impostata su9999
, indicando che non ci sono restrizioni sull’altezza (l’immagine sarà ridimensionata proporzionalmente). - Modifica del selettore delle dimensioni immagine: La funzione
my_custom_sizes()
aggiunge queste nuove dimensioni personalizzate all’elenco di dimensioni immagine disponibili per l’utente nella schermata di selezione delle immagini di WordPress. L’array$sizes
viene aggiornato utilizzandoarray_merge()
per includere le dimensioni personalizzate. - Filtro per aggiungere le dimensioni personalizzate: Il filtro
add_filter( 'image_size_names_choose', 'my_custom_sizes' );
viene utilizzato per integrare le nuove dimensioni personalizzate nel menu a discesa quando si selezionano le dimensioni di un’immagine nella libreria media di WordPress.
Questo codice è utile per gestire immagini a diverse risoluzioni nel tema, ad esempio per ottimizzare il caricamento delle immagini in base ai dispositivi e al layout responsivo.
<?php
add_theme_support( 'post-thumbnails' );
add_image_size( 'image-480', 480, 9999 );
add_image_size( 'image-640', 640, 9999 );
add_image_size( 'image-720', 720, 9999 );
add_image_size( 'image-960', 960, 9999 );
add_image_size( 'image-1200', 1200, 9999 );
add_image_size( 'image-1440', 1440, 9999 );
add_image_size( 'image-1920', 1920, 9999 );
function my_custom_sizes( $sizes ) {
return array_merge( $sizes, array(
'image-480' => 'image-480',
'image-640' => 'image-640',
'image-720' => 'image-720',
'image-960' => 'image-960',
'image-1200' => 'image-1200',
'image-1440' => 'image-1440',
'image-1920' => 'image-1920',
) );
}
add_filter( 'image_size_names_choose', 'my_custom_sizes' );