Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Adjusting product image's Zoom magnification factor in woocommerce 3

I'm using the Storefront theme and have been wondering if there is a way to adjust the zooming level imposed on the product image upon hovering on it.

like image 927
Doua Ali Avatar asked Dec 02 '18 21:12

Doua Ali


People also ask

How do I zoom out a product image in WooCommerce?

Zoom Magnifier for WooCommerce You can place the zoom option in the image box itself or as a separate option beside the image. The plugin offers an option to disable the zoom magnification option for selected products or categories.

How do I get rid of the zoom effect in WooCommerce?

To remove it, Create a child theme . Open functions. php file of the child theme and add following code: function remove_image_zoom_support() { remove_theme_support( 'wc-product-gallery-zoom' ); } add_action( 'wp', 'remove_image_zoom_support', 100 );


1 Answers

This is possible using woocommerce_single_product_zoom_options dedicated filter hook.

The hook undocumented available parameters in the options array are:

$zoom_options = array (
    'url' => false,
    'callback' => false,
    'target' => false,
    'duration' => 120, // Transition in milli seconds (default is 120)
    'on' => 'mouseover', // other options: grab, click, toggle (default is mouseover)
    'touch' => true, // enables a touch fallback
    'onZoomIn' => false,
    'onZoomOut' => false,
    'magnify' => 1, // Zoom magnification: (default is 1  |  float number between 0 and 1)
);

Related: Available parameters details for WooCommerce product image zoom options

Usage with woocommerce_single_product_zoom_options filter hook to change the magnification level (for example we mill minimize the zoom level a bit less):

add_filter( 'woocommerce_single_product_zoom_options', 'custom_single_product_zoom_options' );
function custom_single_product_zoom_options( $zoom_options ) {
    // Changing the magnification level:
    $zoom_options['magnify'] = 0.7;

    return $zoom_options;
}

Code goes in functions.php file of your active child theme (or active theme). Tested and work.

Before with default magnification (set to 1):

enter image description here

Before with magnification set to 0.7:

enter image description here

like image 151
LoicTheAztec Avatar answered Sep 27 '22 01:09

LoicTheAztec