Soporte » Plugins y Hacks » WooCommerce » Eliminar zoom de producto del Theme NewShop

  • Resuelto alexgugo

    (@alexgugo)


    Hola, estoy intentando quitar el zoom de la imagen de producto. He probado con varias opciones como la siguiente pero no obtengo resultados:

    function remove_image_zoom_support() {
    remove_theme_support( 'wc-product-gallery-zoom' );
    }
    add_action( 'wp', 'remove_image_zoom_support', 100 );

    Investigando un poco entre los archivos del Theme me he encontrado con el código que pego más abajo y que hace referencia al zoom de la imagen del producto en product-image.php dentro de woocommerce. En él, si modifico la variable de la primera linea por false, efectivamente se desactiva el zoom de la imagen pero también pierdo la animación del carousel de imagenes de producto, cosa que no quiero.
    ¿Alguien que me pueda ayudar con este tema?
    Gracias de antemano 🙂

    $zoom_feature = get_theme_mod( 'newstore_product_disable_zoom_feature', true );
    if($zoom_feature):
    ?>
    <div class="<?php echo esc_attr( implode( ' ', array_map( 'sanitize_html_class', $wrapper_classes ) ) ); ?>" data-columns="<?php echo esc_attr( $columns ); ?>">
    	<figure class="woocommerce-product-gallery__wrapper">
    		<div class="woocommerce-single-product-slider owl-carousel">
    			<?php
    				if ( $product->get_image_id() ) {
    					$html = newstore_wc_get_gallery_image_html( $post_thumbnail_id, true, 0);
    				} else {
    					$html  = '<div class="woocommerce-product-gallery__image--placeholder">';
    					$html .= sprintf( '<img src="%s" alt="%s" class="wp-post-image" />', esc_url( wc_placeholder_img_src( 'full' ) ), esc_html__( 'Awaiting product image', 'newstore' ) );
    					$html .= '</div>';
    				}
    
    				echo apply_filters( 'woocommerce_single_product_image_thumbnail_html', $html, $post_thumbnail_id ); // phpcs:disable WordPress.XSS.EscapeOutput.OutputNotEscaped
    				
    
    				$attachment_ids = $product->get_gallery_image_ids();
    
    				if ( $attachment_ids && $product->get_image_id() ) {
    					$index = 1;
    					foreach ( $attachment_ids as $attachment_id ) {
    						echo apply_filters( 'woocommerce_single_product_image_thumbnail_html', newstore_wc_get_gallery_image_html( $attachment_id, true, $index ), $attachment_id ); // phpcs:disable WordPress.XSS.EscapeOutput.OutputNotEscaped
    						$index++;
    					}
    				}
    			?>
    		</div>
    	</figure>
    	<div class="woocommerce-product-slider-nav-control">
    		<div class="woocommerce-single-product-nav-carousel owl-carousel">
    			<?php
    				if ( $product->get_image_id() ) {
    					$html = newstore_wc_get_gallery_image_html( $post_thumbnail_id, false, 0, true);
    				} else {
    					$html  = '<div class="woocommerce-product-gallery__image--placeholder">';
    					$html .= sprintf( '<img src="%s" alt="%s" class="wp-post-image" />', esc_url( wc_placeholder_img_src( 'woocommerce_single' ) ), esc_html__( 'Awaiting product image', 'newstore' ) );
    					$html .= '</div>';
    				}
    
    				echo apply_filters( 'woocommerce_single_product_image_thumbnail_html', $html, $post_thumbnail_id ); // phpcs:disable WordPress.XSS.EscapeOutput.OutputNotEscaped
    
    				$attachment_ids = $product->get_gallery_image_ids();
    				if ( $attachment_ids && $product->get_image_id() ) {
    					$index = 1;
    					foreach ( $attachment_ids as $attachment_id ) {
    						echo apply_filters( 'woocommerce_single_product_image_thumbnail_html', newstore_wc_get_gallery_image_html( $attachment_id, false , $index, true), $attachment_id ); // phpcs:disable WordPress.XSS.EscapeOutput.OutputNotEscaped
    						$index++;
    					}
    				}
    			?>
    		</div>
    	</div>
    </div>
    • Este debate fue modificado hace 3 años, 9 meses por alexgugo.
Viendo 2 respuestas - de la 1 a la 2 (de un total de 2)
  • Moderador jose64

    (@jose64)

    Hola

    No debes editar las plantillas del tema, tienes la solución en este debate:

    Woocommerce – Eliminar zoom y lightbox productos

    Por favor, recuerda cerrar el debate marcándolo como resuelto, así nos ayudas a mantener el foro al día.

    Iniciador del debate alexgugo

    (@alexgugo)

    Muchas Gracias Jose Luis. He conseguido hacer lo que quería gracias a tu post. De todas formas he de destacar algo curioso y es que al desactivar el «New product image zoom magnifier» que trae por defecto el Theme NewShop (cosa que es necesaria para que funcionen los códigos del hilo que marcas) no funcionan los progressbar ni los counters de elementor en las páginas de producto, algo prescindible en mi caso.
    NewShop es un tema hijo de Newstore, pero bueno este tema da para otro hilo completamente diferente.
    Un saludo y garcias!! 🙂

Viendo 2 respuestas - de la 1 a la 2 (de un total de 2)
  • El debate ‘Eliminar zoom de producto del Theme NewShop’ está cerrado a nuevas respuestas.