Seit WooCommerce 3 sind Produktbilder mit einer Zoom-Funktion versehen die sichtbar wird, sobald man mit der Maus über das Produktbild fährt.
Anleitungen wie man die Zoom-Funktion los wird, beschränken sich meistens auf die Zeile
remove_theme_support( 'wc-product-gallery-zoom' );
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' ) ),
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' );
Oder als Kurzform
add_filter( 'woocommerce_single_product_zoom_enabled', function() {
remove_theme_support( 'wc-product-gallery-zoom' );
} );
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' ) ),
add_filter( 'woocommerce_single_product_photoswipe_enabled', 'remove_wc_gallery_lightbox' );
function remove_wc_gallery_lightbox() {
remove_theme_support( 'wc-product-gallery-lightbox' );
}
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.
Schreibe einen Kommentar