Codice PHP per aggiungere nuovi formati immagine a WordPress

14 Ottobre 2024

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:

  1. 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.
  2. 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 su 9999, indicando che non ci sono restrizioni sull’altezza (l’immagine sarà ridimensionata proporzionalmente).
  3. 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 utilizzando array_merge() per includere le dimensioni personalizzate.
  4. 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' );
/ 5
Grazie per aver votato!