Если по хорошему - сайт это не графический редактор. Приведение фоток к одному виду лучше делать через графический редактор (photoshop например). Почему? - потому что обработка фото трудоемкий процесс для сервера, стандартными способами php теряется качество фото, фото буду обрезаться по заданному алгоритму(т.е. будет вырезаться заданная область, а не которая будет лучше что бы показать товар. ) и прочее. На сайте
arduino54.ru я делал все фотографии 800*800 пикселей вручную конвейерно. Фотки в любом размере карточек товара смотрятся одинаково и красиво.
Если все таки нужно сделать это программно вам поможет комбинация следующих способов(это только для wooccomerce. если пишите свой код, то напишите коммент):
- в админке вкладка woocommerce->настройки там надо выбрать таб "товары" и пункт "отображение". Там есть пункт "Изображения Товара" нужно поиграться с настройками. Этот пункт действует на фотки при загрузке на сервер.
-так же есть пункт аналогичный вышеперечисленному в насйтроках-> медиафайлы "Размеры изображений"
-Следующий момент - это вывод изображений клиенту:
*для каталога в файле wp-content/plugins/woocommerce/includes/wc-template-function.php есть функция
woocommerce_get_product_thumbnail ее можно переписать и указать в переменную $image_size нужный размер. Само изображение выводится функцией
get_the_post_thumbnail
* для карточки товара в файлах wp-content/plugins/woocommerce/templates/single-product/product-image.php и wp-content/plugins/woocommerce/templates/single-product/product-thumbnails.php
в параметры функций get_the_post_thumbnail и wp_get_attachment_image соответственно надо передать необходимые параметры размера.