有没有办法为产品添加特色图片以显示在产品列表中,但是显示另一个图像作为产品图像? (只是图像,而不是图像库)?
单击列表中的产品(带有特色图像)时,产品只显示图像,包含描述和内容,但显示的是不同的图像,而不是特色图像。
答案 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);
通过添加此行,第一个图像将不会显示在产品库中,只会显示为产品图像。