你有没有想过上传它们时是否有办法在WordPress中自动灰度图像?好奇的时间结束了。在本文中,我们将向您展示如何使用一些简单的PHP图像处理工具和WordPress函数在上传时自动灰度图像。您可以将灰度图像用于悬停,滑块,图库或任何您喜欢的其他内容。

Grayscale Images in WordPress

您需要做的第一件事是打开主题的functions.php文件并添加以下代码:

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

上面的代码只是为上传者添加了额外的图像大小。通过硬裁剪将尺寸设置为100 x 100px。您可以更改尺寸以满足您的需求。完成后,您需要添加以下代码:

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 the_post_thumbnail( "themename-bw-image" ); ?>

如果要对特定附件执行此操作,则可以使用wp_get_attachment_image函数。

注意:您应该将名称更改为主题名称。

评论被关闭。