Woocommerce:与产品图片不同的特色图片

时间:2014-07-08 16:05:13

标签: image woocommerce product

有没有办法为产品添加特色图片以显示在产品列表中,但是显示另一个图像作为产品图像? (只是图像,而不是图像库)?

单击列表中的产品(带有特色图像)时,产品只显示图像,包含描述和内容,但显示的是不同的图像,而不是特色图像。

1 个答案:

答案 0 :(得分:1)

您可以将产品库中的第一张图片设置为产品图片,您设置的特色图片将显示在产品详情页面上。

现在要将产品库中的第一张图片设置为产品图片,您需要覆盖woocommerce模板文件 - product-image.php。

要覆盖,请将文件从woocommerce插件文件夹复制到您的主题/ woocommerce / single-product / product-image.php

使用以下代码替换<div>部分 -

<div class="images">

<?php

    $attachment_ids = $product->get_gallery_attachment_ids();
    isset ($placeholder_width)? : $placeholder_width=0;
    isset ($placeholder_height)? : $placeholder_height=0;

    if ( $attachment_ids ) {
        $attachment_id = $attachment_ids[0];

    if ( ! $placeholder_width )
        $placeholder_width = $woocommerce->get_image_size( 'shop_catalog_image_width' );
    if ( ! $placeholder_height )
        $placeholder_height = $woocommerce->get_image_size( 'shop_catalog_image_height' );

        $output = '<div class="imagewrapper">';

        //$classes = array( 'imagewrapper' );
        $classes = array();
        $image_link = wp_get_attachment_url( $attachment_id );

        if ( $image_link ) {

        $image       = wp_get_attachment_image( $attachment_id, apply_filters( 'single_product_thumbnail_size', 'shop_thumbnail' ) );
        $image_class = esc_attr( implode( ' ', $classes ) );
        $image_title = esc_attr( get_the_title( $attachment_id ) );

        echo apply_filters( 'woocommerce_single_product_image_html', sprintf( '<a href="%s" itemprop="image" class="woocommerce-main-image zoom" title="%s"  rel="prettyPhoto[product-gallery]">%s</a>', $image_link, $image_title, $image ), $post->ID );

        } else {

            echo apply_filters( 'woocommerce_single_product_image_html', sprintf( '<img src="%s" alt="Placeholder" />', woocommerce_placeholder_img_src() ), $post->ID );

        }

    }
?>

<?php do_action( 'woocommerce_product_thumbnails' ); ?>

还覆盖product-thumbnails.php文件,并在foreach循环之前添加以下代码。

unset($attachment_ids);

通过添加此行,第一个图像将不会显示在产品库中,只会显示为产品图像。