serii81
@serii81
Я люблю phр...

Почему не меняется размер изображения в woocommerce?

Добрый день.
В админке настроил размеры
5ef460b205d2a733696217.png

В functions.php прописал размеры, но уже 660, чтобы посмотреть какие размеры будут отображаться на страницы товара.
add_filter( 'woocommerce_get_image_size_thumbnail', function ( $size ) {
	return array(
		'width'  => 660,
		'height' => 660,
		'crop'   => 1,
	);
} );
add_theme_support( 'woocommerce', array(
	'thumbnail_image_width' => 660,
	'single_image_width'    => 660,
) );


Потом, с помощью плагина regenerate thumbnails поменял размер изображений, но на странице товара, все равно картинка имеет размер 300х300.
proseccoborgoluce.cf/product/rive-di-collalto-extra-dry
В чем может быть проблема?
Заранее благодарен.
  • Вопрос задан
  • 350 просмотров
Решения вопроса 1
serii81
@serii81 Автор вопроса
Я люблю phр...
Я создал файл woocommerce/single-product/product-image.php, и скопировал содержимое с того же файла из плагина woocommerce.

Внутри есть функция wc_get_gallery_image_html
Я в functions.php создал другую функцию wc_get_gallery_image_html_custom и скопировал из оригинала содержимое.

Это содержимое product-image.php:
<div class="<?php echo esc_attr( implode( ' ', array_map( 'sanitize_html_class', $wrapper_classes ) ) ); ?>"
     data-columns="<?php echo esc_attr( $columns ); ?>" style="opacity: 0; transition: opacity .25s ease-in-out;">
	<figure class="woocommerce-product-gallery__wrapper">
		<?php
		if ( $product->get_image_id() ) {
			$html = wc_get_gallery_image_html_custom( $post_thumbnail_id, true );
		} else {
			$html = '<div class="woocommerce-product-gallery__image--placeholder">';
			$html .= '<img src="'.get_the_post_thumbnail_uri($product->id, 'full').'" class="wp-post-image" />';
			$html .= '</div>';
		}
		echo apply_filters( 'woocommerce_single_product_image_thumbnail_html', $html, $post_thumbnail_id ); // phpcs:disable WordPress.XSS.EscapeOutput.OutputNotEscaped
		do_action( 'woocommerce_product_thumbnails' );
		?>
	</figure>
</div>


А вот содержимое функции:
function wc_get_gallery_image_html_custom( $attachment_id, $main_image = false ) {
	$flexslider        = (bool) apply_filters( 'woocommerce_single_product_flexslider_enabled', get_theme_support( 'wc-product-gallery-slider' ) );
	$gallery_thumbnail = wc_get_image_size( 'gallery_thumbnail' );
	$thumbnail_size    = apply_filters( 'woocommerce_gallery_thumbnail_size', array(
		$gallery_thumbnail['width'],
		$gallery_thumbnail['height']
	) );
	$image_size        = apply_filters( 'woocommerce_gallery_image_size', $flexslider || $main_image ? 'woocommerce_single' : $thumbnail_size );
	$full_size         = apply_filters( 'woocommerce_gallery_full_size', apply_filters( 'woocommerce_product_thumbnails_large_size', 'full' ) );
	$thumbnail_src     = wp_get_attachment_image_src( $attachment_id, $thumbnail_size );
	$full_src          = wp_get_attachment_image_src( $attachment_id, $full_size );
	$alt_text          = trim( wp_strip_all_tags( get_post_meta( $attachment_id, '_wp_attachment_image_alt', true ) ) );
	$image             = wp_get_attachment_image( $attachment_id, $full_size, false, apply_filters( 'woocommerce_gallery_image_html_attachment_image_params', array(
		'title'                   => _wp_specialchars( get_post_field( 'post_title', $attachment_id ), ENT_QUOTES, 'UTF-8', true ),
		'data-caption'            => _wp_specialchars( get_post_field( 'post_excerpt', $attachment_id ), ENT_QUOTES, 'UTF-8', true ),
		'data-src'                => esc_url( $full_src[0] ),
		'data-large_image'        => esc_url( $full_src[0] ),
		'data-large_image_width'  => esc_attr( $full_src[1] ),
		'data-large_image_height' => esc_attr( $full_src[2] ),
		'class'                   => esc_attr( $main_image ? 'wp-post-image' : '' ),
	), $attachment_id, $image_size, $main_image ) );
	return '<div data-thumb="' . esc_url( $thumbnail_src[0] ) . '" data-thumb-alt="' . esc_attr( $alt_text ) . '" class="woocommerce-product-gallery__image"><a href="' . esc_url( $full_src[0] ) . '">' . $image . '</a></div>';
}


Я поменял image_size, на full_size
5ef4652e79951346013014.png
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы