通过滑动和缩放效果将woocommerce产品库显示到特定帖子

时间:2018-11-09 16:03:00

标签: wordpress plugins woocommerce custom-post-type flexslider

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

状态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 :(得分:0)

在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