使用滑块和缩放效果将 woocommerce 产品库显示到特定帖子

问题描述 投票:0回答:1

我想在我的自定义主题(基于 twentysixteen)上显示 woocommerce 产品库以发布具有库效果的页面。

状态 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://i.stack.imgur.com/t3ZP5.jpg

如何才能显示滑块和缩放的效果?

php wordpress woocommerce plugins flexslider
1个回答
1
投票

WooCommerce 3.0 之后,前端发生了重大变化,可以分为三个独立的新功能;

  • 图像缩放/放大
  • 灯箱
  • 滑块

要在主题中启用这些功能,您必须使用

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

© www.soinside.com 2019 - 2024. All rights reserved.