Skip to Content
WooCommerceBadges y specs

Product Card Badges And Specs

Badges, swatches, tallas y favoritos no se reparten igual en todos los layouts, pero salen de una base comun.

Archivos clave:

  • setup/modules/woocommerce-setup/module.php
  • setup/modules/woocommerce-setup/templates/woocommerce/partials/product-card.php
  • setup/modules/woocommerce-setup/templates/woocommerce/partials/product-card-photo.php
  • setup/modules/woocommerce-setup/templates/woocommerce/partials/product-card-swatch.php
  • setup/modules/woocommerce-setup/assets/js/woocommerce-card.js

Sale badge

La etiqueta de oferta no es un texto fijo del template. Sale de woocommerce_sale_flash, y el modulo la rehace con porcentaje real.

Patron:

  • simples: calcula regular vs sale
  • variables: busca el mayor descuento entre hijas en oferta
  • si hay descuento real, pinta -N%
  • si no, cae a Oferta

Por eso todos los layouts consumen sale_badge ya resuelto.

Stock badge

La regla actual es deliberadamente minima:

  • solo se pinta badge cuando no hay stock
  • no hay badge de En stock

Variable comun:

$show_stock_badge = !$product->is_in_stock();

Favoritos

La base comun calcula is_favorite si la feature esta activa y el usuario esta logado.

Cada layout lo presenta distinto:

  • classic: boton en esquina superior derecha
  • clean: boton redondo en la media
  • swatch: boton dentro del hover action set
  • photo: no fuerza favorito en la misma forma que classic

La persistencia no vive en la card, sino en gp_toggle_favorite_product() y el AJAX gp_toggle_favorite.

Tallas

Las tallas no se leen por un nombre tecnico fijo. La deteccion usa un helper flexible que busca tokens como talla o size tanto en nombre como en label del atributo.

Resultado:

  • en classic se pintan chips de talla si existen
  • en swatch se resume un rango por color seleccionado
  • clean y photo no exponen ese bloque de specs en la misma capa visual

Colores y swatches

Si hay taxonomia global de color configurada y existe hex por termino:

  • la base comun construye card_color_swatches
  • classic pinta puntos de color informativos
  • swatch convierte el color en el centro mismo de la UX

Diferencia importante:

  • classic usa swatches como dato secundario
  • swatch usa swatches como selector principal de la card

Galeria secundaria

La base comun serializa gallery frames en data-gallery-images.

Eso permite dos comportamientos:

  • classic, clean y photo: rotacion hover gestionada por JS
  • swatch: navegacion manual con flechas, sin autorrotacion por hover

Specs count

Classic calcula card_specs_count para ajustar el bloque cuando solo hay un tipo de spec:

  • tallas
  • colores

Esto es puramente de composicion visual, pero conviene saberlo al tocar spacing y layout.

Badges por layout

classic

  • oferta
  • sin stock
  • favorito
  • destacado como meta extra si el producto lo es
  • specs de talla y color debajo del cuerpo

clean

  • oferta
  • sin stock
  • favorito
  • sin bloque visible de specs

photo

  • oferta
  • sin stock
  • accion flotante sobre media
  • cuerpo muy reducido

swatch

  • oferta
  • sin stock
  • categoria en kicker
  • rango de tallas por color
  • favoritos y CTA en hover
  • color activo y precio vivo

Regla practica

  • si cambia una regla de negocio de badges, revisa el filtro sale_flash o la base comun
  • si cambia solo la colocacion visual, revisa la partial del layout
  • si cambia comportamiento de swatches o favoritos, revisa tambien woocommerce-card.js
Last updated on