Как изменить размер всех изображений, чтобы они были одного размера?
Я пытаюсь добиться такого вида без использования фоторедакторов и ручного изменения размеров каждого изображения.
Меня не смущает, если часть изображения будет обрезана, главное - сохранить единый размер и масштаб.

Зарегистрируйте новый размер изображения с помощью функции add_image_size( $name, $width, $height, $crop )
.
// Жесткое обрезание с левого верхнего угла
add_image_size( 'custom-size', 160, 90, array( 'left', 'top' ) );
Затем используйте плагин, например Regenerate Thumbnails, который автоматически создаст новые размеры на вашем сервере.
Вы также можете сделать свои пользовательские размеры доступными для выбора в админке WordPress. Для этого необходимо использовать хук image_size_names_choose
, чтобы присвоить им обычное, понятное человеку название.
add_filter( 'image_size_names_choose', 'wpse_20160116_custom_sizes' );
function wpse_20160116_custom_sizes( $sizes ) {
return array_merge( $sizes, array(
'custom-size' => __( 'Ваше название пользовательского размера' ),
) );
}
Для миниатюр записей убедитесь, что используете add_theme_support( ‘post-thumbnails’ );
, а затем обращайтесь к новому размеру с помощью the_post_thumbnail( $size, $attr )
:
if ( has_post_thumbnail() ) {
the_post_thumbnail( 'custom-size' );
}
Для других изображений вы можете использовать wp_get_attachment_image
:
// Предположим, что изображение из медиатеки имеет post id 42...
echo wp_get_attachment_image( 42, 'custom-size' );
Как отмечает @Charles, вы сможете увидеть свой новый размер на экране настроек медиафайлов.
