如何在 WooCommerce 中控制变量 $image 的 HTML 输出

How to control HTML output of variable $image in WooCommerce

我正在使用 WooCommerce,在我的单一产品页面上我有产品图片的概览。我使用 product-thumbnails.php 模板调用图像,但结果与我的 CSS 冲突,因为 $image 的输出在 HTML.

中添加了像素大小

现在:

<img src="http://example.com/image.jpg" height="480" width="360">

期望:

<img src="http://example.com/image.jpg">

如何更改 $image 的输出?

HTML5Blank 有一个很好的例子,应该可以回答你的一些问题,看看 here - spefically line 206 和它所关联的操作:

add_filter('post_thumbnail_html', 'remove_width_attribute', 10 );

function remove_width_attribute( $html ) {
   $html = preg_replace( '/(width|height)="\d*"\s/', "", $html );
   return $html;
}

要专门针对您所指的模板,您可以专门挂接到该过滤器 (woocommerce_single_product_image_thumbnail_html) 并像这样修改该函数:

add_action('woocommerce_single_product_image_thumbnail_html','remove_single_product_image_attrs',10,4);

function remove_single_product_image_attrs( $image_html, $attachment_id, $post, $image_class ){
    return preg_replace( '/(width|height)="\d*"\s/', "", $image_html );
}