Отобразить галерею продуктов WooCommerce для конкретной публикации с помощью ползунка и эффекта масштабирования - PullRequest
0 голосов
/ 09 ноября 2018

Я хочу отобразить галерею продуктов woocommerce для публикации страницы с эффектом галерей на моей пользовательской теме (на основе twentysixteen).

Статус WooCommerce Версия: 3.5.1

Для отображения галереи товаров, используйте следующий код:

<?php
        if ( ! function_exists( 'wc_get_gallery_image_html' ) ) {
            return;
        }

        global $product;

        $columns           = apply_filters( 'woocommerce_product_thumbnails_columns', 4 );
        $post_thumbnail_id = $product->get_image_id();
        $wrapper_classes   = apply_filters( 'woocommerce_single_product_image_gallery_classes', array(
            'woocommerce-product-gallery',
            'woocommerce-product-gallery--' . ( $product->get_image_id() ? 'with-images' : 'without-images' ),
            'woocommerce-product-gallery--columns-' . absint( $columns ),
            'images',
            'flex-control-thumbs0',
            'woocommerce-product-gallery__trigger',
        ) );
        ?>
        <div class="<?php echo esc_attr( implode( ' ', array_map( 'sanitize_html_class', $wrapper_classes ) ) ); ?>" data-columns="<?php echo esc_attr( $columns ); ?>" style="opacity: 1; transition: opacity .25s ease-in-out;">
            <figure class="woocommerce-product-gallery__wrapper">
                <?php
                if ( $product->get_image_id() ) {
                    $html = wc_get_gallery_image_html( $post_thumbnail_id, true );
                } else {
                    $html  = '<div class="woocommerce-product-gallery__image--placeholder">';
                    $html .= sprintf( '<img src="%s" alt="%s" class="wp-post-image" />', esc_url( wc_placeholder_img_src( 'woocommerce_single' ) ), esc_html__( 'Awaiting product image', 'woocommerce' ) );
                    $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>

Галерея товаров уже отображается, но только изображение. Не имеет эффекта ползунка или увеличения.

Вы можете увидеть скриншот моей страницы по этой ссылке: https://imgur.com/a/FnBJhtf

Как мне сделать, чтобы показать эффект ползунка и зума?

1 Ответ

0 голосов
/ 09 ноября 2018

После WooCommerce 3.0 произошли значительные изменения во внешнем интерфейсе, которые можно разбить на три новые функции;

  • Увеличение / увеличение изображения
  • Lightbox
  • Слайдер

Чтобы включить каждую из этих функций в вашей теме, вы должны объявить о поддержке, используя add_theme_support(), например так;

add_action( 'after_setup_theme', 'yourtheme_setup' );

function yourtheme_setup() {
    add_theme_support( 'wc-product-gallery-zoom' );
    add_theme_support( 'wc-product-gallery-lightbox' );
    add_theme_support( 'wc-product-gallery-slider' );
}

Код входит в functions.php

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