Ответы пользователя по тегу WooСommerce
  • Почему не меняется размер изображения в woocommerce?

    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
    Ответ написан
    Комментировать
  • Почему не отображается страница товаров woocommerce?

    serii81
    @serii81 Автор вопроса
    Я люблю phр...
    Я создавал тему через underscores.me и не активировал чекбокс для woocommerce.
    Ответ написан
    Комментировать
  • Какое можно выбрать решение для мини магазина на wordpress?

    serii81
    @serii81
    Я люблю phр...
    Я где-то год назад работал над небольшим магазином, только разрабатывал не я.
    Там автор тоже использовал скрипты вместо woocommerce.
    Я могу вам скинуть ссылку на архив.
    Вы можете установить себе на хостинг и посмотреть.
    Если хотите, напишите я вам скину свой телеграм.
    Ответ написан
    Комментировать
  • Почему вместо файла taxonomy-product_cat.php для отображения категорий используется page.php?

    serii81
    @serii81 Автор вопроса
    Я люблю phр...
    Нашел ответ.
    Дело в том, что не я начал разрабатывать этот сайт с нуля. До меня чудо-разработчкик установил woocommerce и настроил, но как-то по-своему.

    Прочитав эту статью https://delaemsait.info/integriruem-woocommerce-s-...
    я узнал, что нужно подключить woocommerce в functions.php.
    add_action('after_setup_theme', 'woocommerce_support');
    	function woocommerce_support()
    	{
    		add_theme_support('woocommerce');
    	}


    Понятно, что когда начинаешь разрабатывать тему с нуля, используешь шаблон от underscores.me, не забываешь ставить галочку woocommerce при инициализации темы на этом рессурсе, то данный код вставляется автоматически в файл functions.php.
    Ответ написан
    Комментировать