Icono ayuda

¿Necesitas ayuda?

Contactar con asesor por WhatsApp

Saltar al contenido

Ariapsa - Diseño de páginas web México

Código que mantienen las imágenes de WooCommerce proporcionales.

Para usar este código en Code Snippets:

  1. Ve a Code Snippets > Add New
  2. Copia y pega todo el código anterior
  3. Dale un título como "WooCommerce Proportional Images"
  4. Asegúrate de que la opción "Run snippet everywhere" está seleccionada
  5. Guarda y activa el snippet

El código:

  • Mantiene las imágenes proporcionales en toda la tienda
  • Usa una proporción 1:1 (cuadrada) por defecto
  • Aplica a productos en tienda, relacionados, widgets y galería
  • Centra las imágenes automáticamente

Personalizaciones comunes:

  1. Para cambiar la proporción, modifica el valor de padding-bottom (100% es 1:1, 75% es 4:3, etc.)
  2. Para cambiar el tamaño de las imágenes en widgets, modifica los valores de width y height en el selector correspondiente
  3. Para que las imágenes se ajusten diferente, cambia object-fit: cover a contain
  4. Para cambiar el tamaño base de las imágenes, modifica los valores en la función wc_proportional_images_modify_sizes

/**
* Title: WooCommerce Proportional Images
* Description: Mantiene las imágenes de WooCommerce proporcionales en tienda, widgets y productos relacionados.
* Priority: 10
* Tags: woocommerce, images, product, shop
*/
if (!defined('ABSPATH')) {
exit;
}
// Agregar CSS personalizado
function wc_proportional_images_custom_css() {
?>
<style>
/* Contenedor de imagen principal en tienda */
.woocommerce ul.products li.product .image-wrapper {
position: relative;
width: 100%;
height: 0;
padding-bottom: 100%; /* Ratio 1:1 por defecto */
overflow: hidden;
background-color: #f8f8f8;
}
/* Imagen dentro del contenedor */
.woocommerce ul.products li.product .image-wrapper img {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
}
/* Productos relacionados */
.related.products .image-wrapper {
position: relative;
width: 100%;
height: 0;
padding-bottom: 100%;
overflow: hidden;
}
.related.products .image-wrapper img {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 100%;
height: 100%;
object-fit: cover;
}
/* Widgets */
.woocommerce ul.cart_list li img,
.woocommerce ul.product_list_widget li img {
float: left;
margin-left: 0;
width: 80px;
height: 80px;
object-fit: cover;
}
/* Imagen principal del producto */
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
position: relative;
width: 100%;
height: 0;
padding-bottom: 100%;
overflow: hidden;
}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper img {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 100%;
height: 100%;
object-fit: contain;
}
/* Galería de miniaturas */
.woocommerce div.product div.images .flex-control-thumbs li {
position: relative;
width: 23%;
height: 0;
padding-bottom: 23%;
overflow: hidden;
margin: 1%;
}
.woocommerce div.product div.images .flex-control-thumbs li img {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 100%;
height: 100%;
object-fit: cover;
}
</style>
<?php
}
add_action('wp_head', 'wc_proportional_images_custom_css');
// Modificar tamaños de imagen por defecto
function wc_proportional_images_modify_sizes($size) {
return array(
'width' => 400,
'height' => 400,
'crop' => 1,
);
}
add_filter('woocommerce_get_image_size_thumbnail', 'wc_proportional_images_modify_sizes');
add_filter('woocommerce_get_image_size_single', 'wc_proportional_images_modify_sizes');
add_filter('woocommerce_get_image_size_gallery_thumbnail', 'wc_proportional_images_modify_sizes');
// Agregar contenedor de imagen
function wc_proportional_images_open_container() {
echo '<div class="image-wrapper">';
}
add_action('woocommerce_before_shop_loop_item_title', 'wc_proportional_images_open_container', 9);
// Cerrar contenedor de imagen
function wc_proportional_images_close_container() {
echo '</div>';
}
add_action('woocommerce_before_shop_loop_item_title', 'wc_proportional_images_close_container', 11);

 

Ariapsa - Diseño de páginas web México
×

Iniciar Sesión

El registro de usuarios no está permitido.