如何在没有真正进入php文件并手动删除类的情况下从woocommerce中的图像中删除缩放类?跟钩子一样吗?
我找到了它的过滤器
apply_filters( 'woocommerce_single_product_image_html', sprintf( '<a href="%s" itemprop="image" class="woocommerce-main-image zoom" title="%s" data-rel="prettyPhoto' . $gallery . '">%s</a>', $image_link, $image_title, $image ), $post->ID );
但我不知道如何覆盖这个?变焦在这里很烦人。
答案 0 :(得分:2)
您可以通过过滤器进行调整。对于您在WordPress中看到的任何类型的过滤器,这都是相同的方法,您将发回您想要使用的值。我想如果你想尝试阅读更多内容,我写了一篇关于WordPress filters的非常好的文章。
但要回答您的问题,您可以执行以下操作,这将保持图像链接不变,但删除缩放类:
function so_26609604_single_product_image_html( $html, $post_id ){
$image_title = esc_attr( get_the_title( get_post_thumbnail_id() ) );
$image_link = wp_get_attachment_url( get_post_thumbnail_id() );
$image = get_the_post_thumbnail( $post_id, 'shop_single', array( 'title' => $image_title ) );
$html = sprintf( '<a href="%s" itemprop="image" class="woocommerce-main-image" title="%s">%s</a>', $image_link, $image_title, $image );
return $html;
}
add_filter( 'woocommerce_single_product_image_html', 'so_26609604_single_product_image_html', 10, 2 );
或者您可以完全删除链接,只显示图片:
function so_26609604_single_product_image_html_alt( $html, $post_id ){
$image_title = esc_attr( get_the_title( get_post_thumbnail_id() ) );
$image = get_the_post_thumbnail( $post_id, 'shop_single', array( 'title' => $image_title ) );
return $image;
}
add_filter( 'woocommerce_single_product_image_html', 'so_26609604_single_product_image_html_alt', 10, 2 );