In questo tutorial WordPress vedremo come trasformare in scala di grigio, e in automatico, le immagini caricate in post e pagine del CMS.
Modifiche del genere possono essere utili in progetti particolari, come la creazione di foto blog su temi vintage e simili.
[Step 1] – Prima modifica al tema
La prima cosa da fare è operare una codifica supplementare al file functions.php. Apriamolo e incolliamo la seguente porzione di codice:
[php]add_action(‘after_setup_theme’,’themename_bw_size’);
function themename_bw_size() {
add_image_size(‘themename-bw-image’, 200, 200, true);
}[/php]
Nel nostro primo passaggio abbiamo indicato a WordPress di ridimensionare (croppare) a 200 x 200 pixel tutte le immagini inserite. È ovviamente possibile impostare le “misure” preferite.
[Step 2] – Codifica supplementare
Ora dobbiamo dire al CMS engine quali estensioni file immagine accettare e il filtro cromatico da applicare. Proseguiamo con l’aggiunta delle seguenti stringhe:
[php]add_filter(‘wp_generate_attachment_metadata’,’themename_bw_filter’);
function themename_bw_filter($meta) {
$file = wp_upload_dir();
$file = trailingslashit($file[‘path’]).$meta[‘sizes’][‘themename-bw-image’][‘file’];
list($orig_w, $orig_h, $orig_type) = @getimagesize($file);
$image = wp_load_image($file);
imagefilter($image, IMG_FILTER_GRAYSCALE);
switch ($orig_type) {
case IMAGETYPE_GIF:
imagegif( $image, $file );
break;
case IMAGETYPE_PNG:
imagepng( $image, $file );
break;
case IMAGETYPE_JPEG:
imagejpeg( $image, $file );
break;
}
return $meta;
}[/php]
Tramite queste istruzioni, il motore del sistema di gestione contenuti ammetterà solo l’upload di immagini GIF, JPEG e PNG a cui applicherà il filtro “grayscale”.