WooCommerce Produktbilder-Zoom im Childtheme deaktivieren

alligator 2942846 1920
Bildquelle: Pixabay, RKPhoto

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

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' ) ),
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' );
}

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 Antworten zu „WooCommerce Produktbilder-Zoom im Childtheme deaktivieren“

  1. Ewa

    Leider verschwindet nur das Zeigen (Icon Zoom) man kann es trotzdem anklicken

    1. webentwicklerin

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

  2. Anika

    Danke, klappt wunderbar.
    Falls jemand darüber stolpern sollte: Auch diese Änderung muss in die functions.php des Child-Themes.

Bitte Kommentarfunktion nicht für Supportanfragen nutzen. Dem kann hier nicht entsprochen werden. Die Angabe einer E-Mail-Adresse und eines Namens ist nicht erforderlich. Einen (Spitz)-Namen zu nennen wäre aber doch nett.

Schreibe einen Kommentar zu Anika Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Sowohl angegebener Name als auch E-Mail-Adresse (beides ist optional, dafür werden alle Kommentare vor Veröffentlichung geprüft) werden dauerhaft gespeichert. Du kannst jeder Zeit die Löschung Deiner Daten oder / und Kommentare einfordern, direkt über dieses Formular (wird nicht veröffentlicht, und im Anschluss gelöscht), und ich werde das umgehend erledigen. – Mit hinterlassenen Kommentaren hinterlegte IP-Adressen werden nach zwei Monaten automatisch gelöscht

publicly queryable