Ищите способ регенерировать все мои избранные изображения и создать новый размер изображения в черно-белом варианте.
Я знаю, что это можно сделать в CSS, но мне нужно перетащить это изображение с помощью REST наПриложение JS canvas и не может использовать CSS,
Я нашел этот код, но в моем случае он не работает. Он работает на некоторых страницах, когда я загружаю изображения, но не при загрузке изображения в сообщение.Мне было интересно, есть ли способ сделать это с помощью Regenerate всех миниатюр на сайте, а не при загрузке.
add_action('after_setup_theme','themename_bw_size');
function themename_bw_size() {
add_image_size('themename-bw-image', 100, 100, true);
}
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;
}
Спасибо!