Как я могу удалить обрезку для изображений в электронной почте заказов WooCommerce - PullRequest
0 голосов
/ 04 марта 2020

Woocommerce обрезает изображения заказанных товаров.

Как я могу удалить это?

Большинство моих изображений в портретном режиме.

Я смотрел в Интернете, но это Кажется, что исправления обрезки только для переднего конца.

Пробовал код ниже, но он только изменяет размер, но все еще обрезает изображение.

function my_email_order_items_args( $args ) {
$args['show_image'] = true;
$args['image_size'] = array( 150, 150 );

return $args;
}

add_filter( 'woocommerce_email_order_items_args', 'my_email_order_items_args', 10, 1 );

После того, как я заказываю, как я могу удалить обрезку у анг просто фиксированная высота и автоматическая ширина?

РЕДАКТИРОВАТЬ:

Я пробовал предложение ниже, но кажется, добавить размер изображения не работает:

add_filter('woocommerce_order_item_thumbnail', 'filter_item_thumb', 10, 2);
function filter_item_thumb($image, $item){
    add_theme_support( 'post-thumbnails' );
    add_image_size('email_orders', 120);
    add_theme_support( 'woocommerce', array(
        'thumbnail_image_width' => 200,
        'gallery_thumbnail_image_width' => 100,
        'single_image_width' => 500,
        ) );
    $itemObject = $item->get_product();
    $image_url = get_the_post_thumbnail($itemObject->get_id(), 'medium_large'); // use your image size
    // you can add_image_size() to specify your uncropped thumbnail

    return $image_url;
}

1 Ответ

2 голосов
/ 05 марта 2020

Так что $args['image_size'] просто определяет ширину изображения, но оно всегда будет обрезанным квадратом. Таким образом, вместо этого вы можете отфильтровать order_item_thumbnail, который вызывается в письме. Если вы add_image_size и указали размер необрезанного изображения, который вы хотите использовать для этого ... замените medium_large на этот размер, и у вас все получится.

function my_email_order_items_args( $args ) {
    $args['show_image'] = true;
return $args;
}
add_filter( 'woocommerce_email_order_items_args', 'my_email_order_items_args', 10, 1 );

add_filter('woocommerce_order_item_thumbnail', 'filter_item_thumb', 10, 2);
function filter_item_thumb($image, $item){

    $itemObject = $item->get_product();
    $image_url = get_the_post_thumbnail($itemObject->get_id(), 'medium_large'); // use your image size
    // you can add_image_size() to specify your uncropped thumbnail

    return $image_url;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...