WooCommerce Produktbilder-Zoom im Childtheme deaktivieren

alligator 2942846 1920

Seit WooCommerce 3 sind Produktbilder mit einer Zoom-Funktion versehen die sichtbar wird, sobald man mit der Maus über das Produktbild fährt.

screenshot 2021 08 27 091237
screenshot 2021 08 27 091304

Anleitungen wie man die Zoom-Funktion los wird, beschränken sich meistens auf die Zeile

remove_theme_support( 'wc-product-gallery-zoom' );
Code-Sprache: JavaScript (javascript)

die in die functions.php des Themes eingefügt werden soll.

Das funktionierte in der functions.php des Childtheme allerdings nicht, weder als eigene Zeile, noch innerhalb des after_setup_theme-Hooks.

In solchen Fällen findet man die Antwort am schnellsten dort wo die Funktion verwendet wird, der Datei class-wc-frontend-scripts-php in den includes von WooCommerce, die einen Filter anbietet, was so aussieht:

'zoom_enabled' => apply_filters( 'woocommerce_single_product_zoom_enabled', get_theme_support( 'wc-product-gallery-zoom' ) ),
Code-Sprache: PHP (php)

Den Filter anzuwenden führte dann auch zum gewünschten Erfolg. Nachfolgend, wie es funktionierte, die Zoomfunktion loszuwerden:

function kill_the_zoom() { remove_theme_support( 'wc-product-gallery-zoom' ); } add_filter( 'woocommerce_single_product_zoom_enabled', 'kill_the_zoom' );
Code-Sprache: JavaScript (javascript)

Oder als Kurzform

add_filter( 'woocommerce_single_product_zoom_enabled', function() { remove_theme_support( 'wc-product-gallery-zoom' ); } );
Code-Sprache: JavaScript (javascript)

Was bleibt, ist (ggf.) nur noch die Lightbox-Funktion, die bleibt davon unberührt.

'photoswipe_enabled' => apply_filters( 'woocommerce_single_product_photoswipe_enabled', get_theme_support( 'wc-product-gallery-lightbox' ) ),
Code-Sprache: PHP (php)
screenshot 2021 08 27 091352
add_filter( 'woocommerce_single_product_photoswipe_enabled', 'remove_wc_gallery_lightbox' ); function remove_wc_gallery_lightbox() { remove_theme_support( 'wc-product-gallery-lightbox' ); }
Code-Sprache: JavaScript (javascript)

Würde die Lightbox-Funktionalität von WooCommerce entfernt, wäre das Bild immer noch verlinkt und würde von der Produktseite weglotsen (zur Original Bilddatei).

Im Weiteren lässt sich dieser Filter nur auf die WooCommerce-Lightbox anwenden. Es kann aber sein, dass die bereits durch das verwendete Theme ersetzt wurde, oder auch schon gehabt, dass sich zwei Lightboxen öffnen. Dann macht es Sinn, die von WooCommerce mit Hilfe des Filters loszuwerden, und anschließend zu testen was passiert.

3 Kommentare

    1. Vermutlich ist noch eine Lightbox aktiv. Das Snippet unterbindet nur die Zoom-Funktion, nicht die Produktlightbox. Ich habe den Beitrag entsprechend ergänzt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.