具有悬停效果的可点击产品图像

时间:2019-03-01 作者:ivan marchenko

我与woocommerce有一个主题。有些产品有多张照片,当用户将鼠标悬停在这些产品上时,这些照片(位于照片库中)将滚动。

我想让产品图像单击B来完成我使用的此代码,并添加到functions.php

if ( ! function_exists( \'woocommerce_get_product_thumbnail\' ) ) {
    /**
    * Get the product thumbnail, or the placeholder if not set.
    *
    * @subpackage Loop
    * @param string $size (default: \'shop_catalog\')
    * @param int $deprecated1 Deprecated since WooCommerce 2.0 (default: 0)
    * @param int $deprecated2 Deprecated since WooCommerce 2.0 (default: 0)
    * @return string
    */
    function woocommerce_get_product_thumbnail( $size = \'shop_catalog\', $deprecated1 = 0, $deprecated2 = 0 ) {
        global $post;
        if ( has_post_thumbnail() ) {
        return \'<a href="\' . get_permalink( $post->ID ) . \'">\' . get_the_post_thumbnail( $post->ID, $size ) . \'</a>\';
        } elseif ( wc_placeholder_img_src() ) {
        return wc_placeholder_img( $size );
        }
     }
  }
}
此代码适用于具有一个图像的产品,但对于滚动图像则不适用。

这是我的滚动图像标记。

<div class="product-thumb">
  <div class="product-flash-wrap"></div>
  <div class="product-thumb-primary">
    <a href="#someURI">
      <img width="300" height="300" src="#someURI" class="attachment-shop_catalog size-shop_catalog wp-post-image" srcset="#someURI" sizes="(max-width: 300px) 100vw, 300px">
    </a>
  </div>
  <div class="product-thumb-secondary">
    <img width="300" height="300" src="#someURI" class="attachment-shop_catalog size-shop_catalog"> </div>
  <div class="wccpf-fields-container"></div>
</div>
如您所见,只有第一个图像使用链接包装。

因此,我的问题是。如何使滚动产品缩略图可单击?

非常感谢您的帮助。

1 个回复
SO网友:Alexander Holsgrove

您可以使用一些Javascript来触发单击。例如:

$(\'.product-thumb\').click(function(event) {
    var product_link = $(this).find(\'product-thumb-primary a\');

    // Don\'t trigger a click on the existing link
    if(!event.target.href && product_link.length) {
        document.location.href = product_link.attr(\'href\');
    }
});
未经测试,但这是基本逻辑。

相关推荐

Gallery thumbnails very small

当我使用标准WordPress图库时,我会在内容中获得非常小的缩略图:由于内容中有很多空间,我想显示更大的图像。我该怎么做?主题中没有添加特定的库代码。