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/

任何帮助将不胜感激,因为我知道我必须非常接近。

4

3 回答 3

5

这是您要查找的代码:

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
}

希望这会有用。

于 2013-07-11T12:03:21.893 回答
2

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

对于那些尝试将产品链接添加到图像的人,我在图像中添加了“链接”包装,因此它会产生图像 + 产品链接

$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
}
于 2016-05-05T09:27:55.927 回答
0

对于 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
}
于 2019-02-22T23:26:40.627 回答