Woocommerce удалить класс масштабирования из изображений

Как я могу удалить класс zoom из изображений в woocommerce, не заходя в php файлы и не удаляя класс вручную? Как с крючками?

Я нашел фильтр для него

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

Решение

Вы делаете настройку через фильтр. Это тот же подход для любого вида фильтра, который вы видите в WordPress, вы отправляете обратно значение, которое хотите использовать вместо этого. Я думаю, что написал довольно хорошую статью о Фильтры WordPress если вы хотите попробовать прочитать больше.

Но чтобы ответить на ваш вопрос, вы можете сделать следующее, что бы сохранить ссылку на изображение без изменений, но удалить класс увеличения:

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 );
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]