当前位置: 首页 > 知识库问答 >
问题:

WooCommerce产品库:与选定的缩略图交换特色图像

沈良策
2023-03-14

默认情况下,Woocommerce在lightbox或new选项卡上显示产品库。我想在显示产品图像的框上显示产品图库。我尝试了WooCommerce动态图库,但LITE版本不允许我在每个产品上显示所有的产品图库图像。此外,它还会显示产品说明上的图像。

有人能给我推荐一个可以动态显示产品图库的wordpress插件或编码吗?多谢.

共有1个答案

殷安顺
2023-03-14

通过一些简单的jquery(见下文)就可以做到这一点。您还需要覆盖WooCommerce为图库包含的默认lightbox。

我相信可以在WC->设置->产品->显示下的管理中禁用它。但也可以直接删除样式和脚本。

我还没有在Woocommerce的新安装上测试过这段代码--这是一些修改过的代码,来自一个有大量定制的产品库的站点,其中包括视频支持。

您需要在主题的functons.php文件中包含这些内容,等等。

  add_action( 'wp_enqueue_scripts', 'wc_remove_lightboxes', 99 );

  /**
   * Remove WooCommerce default prettyphoto lightbox
  */

   function wc_remove_lightboxes() {    
     // Styles
     wp_dequeue_style( 'woocommerce_prettyPhoto_css' );
     // Scripts
     wp_dequeue_script( 'prettyPhoto' );
     wp_dequeue_script( 'prettyPhoto-init' );
     wp_dequeue_script( 'fancybox' );
     wp_dequeue_script( 'enable-lightbox' );
  }


/* Customize Product Gallery */

/**
 * Click on thumbnail to view image for single product page gallery. Includes 
 * responsive image support using 'srcset' attribute introduced in WP 4.4
 * @link https://make.wordpress.org/core/2015/11/10/responsive-images-in-wordpress-4-4/
 */

add_action( 'wp_footer', 'wc_gallery_override' );

function wc_gallery_override()
{       
  // Only include if we're on a single product page.
  if (is_product()) {
  ?>
    <script type="text/javascript">
        ( function( $ ) {

            // Override default behavior
            $('.woocommerce-main-image').on('click', function( event ) {
                event.preventDefault();
            });

            // Find the individual thumbnail images
            var thumblink = $( '.thumbnails .zoom' );

            // Add our active class to the first thumb which will already be displayed 
            //on page load.
            thumblink.first().addClass('active');

            thumblink.on( 'click', function( event ) {

                // Override default behavior on click.
                event.preventDefault();

                // We'll generate all our attributes for the new main
                // image from the thumbnail.
                var thumb = $(this).find('img');

                // The new main image url is formed from the thumbnail src by removing 
                // the dimensions appended to the file name.
                var photo_fullsize =  thumb.attr('src').replace('-300x300','');

                // srcset attributes are associated with thumbnail img. We'll need to also change them.
                var photo_srcset =  thumb.attr('srcset');

                // Retrieve alt attribute for use in main image.
                var alt = thumb.attr('alt');

                // If the selected thumb already has the .active class do nothing.
                if ($(this).hasClass('active')) {
                    return false;
                } else { 

                    // Remove .active class from previously selected thumb.
                    thumblink.removeClass('active');

                    // Add .active class to new thumb.
                    $(this).addClass('active');

                    // Fadeout main image and replace various attributes with those defined above. Once the image is loaded we'll make it visible.
                    $('.woocommerce-main-image img').css( 'opacity', '0' ).attr('src', photo_fullsize).attr('srcset', photo_srcset).attr('alt', alt).load(function() {
                        $(this).animate({ opacity: 1 });
                    });
                    return false;
                    }
                });
        } )( jQuery ); 
    </script>
<?php
}
}
 类似资料:
  • 我的购物车页面有问题。我遇到的问题是产品缩略图图像被裁剪,并且正在切断我的图像。 我转到产品显示设置并调整了缩略图大小,但缩略图图像仍然太小且被裁剪。 购物车页面图像 我想知道如何解决这个问题,有人能帮忙吗? 我还想了解如何将购物车页面上的产品图像更改为不同的图片,而不影响网站前端的产品图像。

  • 我正在尝试在一个自定义主题中实现wooCommerce,我正在基于bootstrap框架构建该主题(因为我对事物的外观很挑剔),所以我正在尝试重新定位wooCommerce产品缩略图库图像。我知道wooCommerce中提供的各种函数和钩子,如wc-template-hooks.php中列出的函数和钩子,它们工作得非常好,但在我的特殊情况下除外。我使用和钩子将产品信息包装在我的引导框架中,就像这样

  • 我的吴宇森商店有一个奇怪的问题。最新更新后,产品商店缩略图开始以不同寻常的方式显示。有些图像显示良好,但其中的一些,显示在全尺寸。我想让它所有的图像显示这样: 显示问题的图像 “良好”产品的尺寸为:251px 304px。这也是我的Woocommerce缩略图配置: woo配置 我尝试将其设置为CSS: 任何帮助,如何显示所有图像的罚款?这是链接表单商店。

  • 我对Woocomece的3.3.5版本有一个问题,特别是在product-thumbnais.php页面。 场景:我们在产品图库中有一个特色产品图像和另外5-6个图像,它们明显地显示为主图像下的产品缩略图。 现在缩略图只是堆叠在一起,似乎没有办法让这些缩略图显示在单行旋转木马中,导航箭头滚动旋转木马。 假设我想在任何给定的时间显示4个缩略图,然后单击导航箭头滚动缩略图,就像本页上的flexnav演

  • 出于某种原因,当我使用WordPress 3.6.1媒体库GUI功能裁剪缩略图时,它似乎不会影响公文包页面上显示的缩略图?即使缩略图在后端显示为裁剪,但在公文包页面上仍然显示不正确? 下面是公文包页面的代码摘录。正如您所看到的,它使用中等大小的缩略图。 functions.php我有以下几点: 为什么我不能通过WordPress GUI将上传到媒体库的肖像图像裁剪成横向格式?

  • 我试图提高产品页面上Wooommerce缩略图的质量,但没有结果。不管我做什么,拇指总是模糊不清。 我尝试了不同的插件,比如视网膜等,再生拇指,通过ftp上传新的photoshopped 300 dpi img,并将其替换为图库中的那些,上传更大的img,禁用jetpack,在woocommerce和wordpress中使用不同的img设置(将质量设置为100%/缩放等),将此字符串放入文件