首页 文章

Woocommerce分组产品图像

提问于
浏览
1

我正在尝试将产品缩略图与分组产品的名称和价格一起包含在内 . 目前,一个父产品包括20个左右的子(分组)产品,默认情况下,该页面仅显示列表底部的数量选择器,产品名称,价格和添加到购物车按钮 . 所有产品都列在一个大表下面,我希望为每个单独的产品包含一个单独的产品图像 .

目前,通过编辑/single-product/add-to-cart/grouped.php产品文件,我设法通过在DIV之后添加以下内容来显示小图像但仅显示主要父产品 . 产品名称php:

<div class="images">

<?php if ( has_post_thumbnail( $post_id ) ) { ?>

<a itemprop="image" href="<?php echo wp_get_attachment_url( get_post_thumbnail_id( $post_id ) ); ?>" class="zoom" rel="thumbnails" title="<?php echo get_the_title( get_post_thumbnail_id( $post_id ) ); ?>"><?php echo get_the_post_thumbnail( $post_id, apply_filters( 'grouped_product_large_thumbnail_size', 'shop_thumbnail' ), array( 
'title' => get_the_title( get_post_thumbnail_id( $post_id ) ), 
) ); ?></a>

<?php } ?>

</div>

我知道这段代码只是从捆绑的产品图片中复制而来,但它是我最接近的 . 你可以在这里看到我的意思的例子:

http://hallmark.digitalstorm.co.uk/product/luxor-custom-built-arrangement/

任何帮助都会非常感激,因为我知道我必须非常接近 .

3 回答

  • 4

    以下是您要查找的代码:

    add_action( 'woocommerce_grouped_product_list_before_price', 'woocommerce_grouped_product_thumbnail' );
    
    function woocommerce_grouped_product_thumbnail( $product ) {
        $image_size = array( 20, 20 );  // array( width, height ) image size in pixel 
        $attachment_id = get_post_meta( $product->id, '_thumbnail_id', true );
        ?>
        <td class="label">
            <?php echo wp_get_attachment_image( $attachment_id, $image_size ); ?>
        </td>
        <?php
    }
    

    希望这会有用 .

  • 0

    @Ratnakar的精彩代码 - 商店应用

    对于那些尝试将产品链接添加到图像的人,我在图像中添加了一个“链接”包装,这样就会产生Image Link to product

    $link = get_the_permalink($product->id);
    

    <a href="<?php echo $link; ?>" > <?php echo wp_get_attachment_image( $attachment_id, $image_size ); ?> </a>
    

    最后:

    add_action( 'woocommerce_grouped_product_list_before_price', 'woocommerce_grouped_product_thumbnail' );
    
    function woocommerce_grouped_product_thumbnail( $product ) {
        $image_size = array( 100, 100 );  // array( width, height ) image size in pixel 
        $attachment_id = get_post_meta( $product->id, '_thumbnail_id', true );
        $link = get_the_permalink($product->id);
        ?>
        <td class="label">
            <a href="<?php echo $link; ?>" > <?php echo wp_get_attachment_image( $attachment_id, $image_size ); ?> </a>
        </td>
        <?php
    }
    
  • 2

    对于Woocommerce 2.6及更高版本(更新$ product以使用数据存储):

    add_action( 'woocommerce_grouped_product_list_before_price','woocommerce_grouped_product_thumbnail');
    
    function woocommerce_grouped_product_thumbnail( $product ) {
    $image_size = array( 100, 100 );  // array( width, height ) image size in pixel
    $attachment_id = get_post_meta( $product->get_id(), '_thumbnail_id', true );
    $link = get_the_permalink($product->get_id());
    ?>
    <td class="label">
        <a href="<?php echo $link; ?>" > <?php echo 
    wp_get_attachment_image($attachment_id, $image_size ); ?> </a>
    </td>
    <?php
    }
    

相关问题