Hur man gör grÄskalebilder i WordPress

Hur man gör grÄskalebilder i WordPress

Har du nÄgonsin undrat om det fanns ett sÀtt att automatiskt grÄskala bilder i WordPress nÀr du laddar upp dem? Tja, den undrande tiden Àr över. I den hÀr artikeln visar vi dig hur du kan anvÀnda nÄgra enkla PHP-bildhanteringsverktyg och WordPress-funktioner för att automatiskt grÄskala bilder vid uppladdning. Du kan anvÀnda grÄskalebilder för svÀvar, skjutreglage, galleri eller nÄgot annat du vill.

Det första du behöver göra Àr att öppna temas funktioner.php-fil och lÀgga till följande kod:

add_action('after_setup_theme','themename_bw_size');
function themename_bw_size() {
	add_image_size('themename-bw-image', 100, 100, true);
}

Koden ovan lÀgger helt enkelt till en ytterligare bildstorlek för uppladdaren. Storleken Àr instÀlld pÄ 100 x 100 pixlar med hÄrd beskÀrning. Du kan Àndra mÄtten sÄ att de passar dina behov. NÀr du har gjort det mÄste du lÀgga till följande kod:


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;
}

Koden ovan sÀger ganska mycket till uppladdaren att skapa en extra storlek pÄ bilden du laddade upp. BeskÀr den till den storlek du angav i föregÄende steg. Applicera sedan bildfiltret: GrÄskala.

Om du gjorde detta för dina inlÀggsminiatyrer kan du visa det sÄ hÀr i ditt tema:

<?php the_post_thumbnail( 'themename-bw-image' ); ?>

Om du vill göra detta för en viss bilaga kan du anvÀnda funktionen wp_get_attachment_image.

Alla poÀng för detta fantastiska trick gÄr till Otto.