Parece que la respuesta es no ...
He seguido las funciones básicas y he encontrado un callejón sin salida. Y encontré esta publicación ( ¿Cómo puedo hacer un add_image_size () recortar desde arriba? ) donde Rarst dice:
La generación de imágenes intermedias es extremadamente rígida. Image_resize () lo mantiene cerca del código y carece completamente de ganchos.
Pero , siguiendo el ejemplo de la otra respuesta (de bradt ) y el código que publicó ( Posición de recorte de imagen en WordPress ), creo que lo tengo :)
En la función bt_generate_attachment_metadata
, acabo de modificar la llamada a bt_image_make_intermediate_size
incluyendo el último parámetro $size
$resized = bt_image_make_intermediate_size( $file, $size_data['width'], $size_data['height'], $size_data['crop'], $size );
Y modificó el inicio de la función bt_image_make_intermediate_size
de la siguiente manera:
- agregó el parámetro
$size
a la función
- en lugar del valor predeterminado
null
a $suffix
, un switch
a nuestros nuevos sufijos
function bt_image_make_intermediate_size( $file, $width, $height, $crop = false, $size ) {
if ( $width || $height ) {
switch($size) {
case 'thumbnail':
$suffix = 't';
break;
case 'medium':
$suffix = 'm';
break;
case 'large':
$suffix = 'l';
break;
default:
$suffix = null;
break;
}
$resized_file = bt_image_resize( $file, $width, $height, $crop, $suffix, null, 90 );
Aquí , una copia del código completo con mis mods, solo como referencia.
Y el difiere del original .
Probablemente, todo el código se puede reducir a un hueso, pero de esta manera obtenemos el beneficio de imágenes recortadas personalizadas :))