Skip to content

Wishlist

La lista de deseos permite a los clientes guardar productos para más tarde. Funciona tanto para clientes registrados como para invitados.

Lista de deseos, comparación y vista rápida en la página de la tienda

Ve a WooCommerce > Polski > Módulos de la tienda y activa la opción Wishlist. Tras la activación, aparecerá un icono de corazón en cada producto que permite añadirlo a la lista.

Compatibilidad con invitados y usuarios registrados

Section titled “Compatibilidad con invitados y usuarios registrados”

Para los invitados, la lista de deseos se guarda en el localStorage del navegador. Los datos están disponibles de inmediato sin peticiones al servidor. Tras iniciar sesión, la lista de localStorage se sincroniza automáticamente con la base de datos - los productos no se pierden.

Para los clientes registrados, los datos se guardan en la tabla wp_usermeta con la clave _polski_wishlist. Así, la lista está disponible en cualquier dispositivo tras iniciar sesión.

El módulo añade una nueva pestaña Lista de deseos en la sección Mi cuenta de WooCommerce. El cliente ve:

  • Miniatura del producto
  • Nombre con enlace a la página del producto
  • Precio (actual, incluidas las promociones)
  • Estado de disponibilidad (en stock / sin stock)
  • Botón Añadir al carrito
  • Botón Eliminar de la lista

La pestaña solo es visible cuando el módulo está activo. El endpoint de la URL es wishlist - p. ej. tutienda.com/my-account/wishlist/.

Añadir y eliminar productos de la lista funciona mediante AJAX - la página no se recarga. Tras hacer clic en el icono de corazón:

  1. El icono cambia de estado (vacío/relleno) con una animación CSS
  2. Se envía una petición AJAX a admin-ajax.php
  3. El contador del icono en la cabecera se actualiza en tiempo real

Acciones AJAX gestionadas por el módulo:

AcciónDescripción
polski_wishlist_addAñadir producto a la lista
polski_wishlist_removeEliminar producto de la lista
polski_wishlist_getObtener toda la lista
polski_wishlist_clearVaciar toda la lista

El shortcode muestra la tabla de la lista de deseos en cualquier lugar de la tienda.

ParámetroTipoPredeterminadoDescripción
columnsstringallColumnas a mostrar (separadas por comas)
max_itemsint50Número máximo de productos en la lista
show_emptystringyesSi se muestra un mensaje cuando la lista está vacía
[polski_wishlist columns="image,name,price,add_to_cart" max_items="20"]
echo do_shortcode('[polski_wishlist columns="image,name,price,add_to_cart"]');
  • image - miniatura del producto
  • name - nombre del producto con enlace
  • price - precio
  • stock - estado del stock
  • add_to_cart - botón añadir al carrito
  • remove - botón eliminar de la lista
  • date_added - fecha de adición

El botón de la lista de deseos se muestra de forma predeterminada debajo del botón Añadir al carrito en la página del producto. La posición se puede cambiar con un filtro:

add_filter('polski/wishlist/button_position', function (): string {
return 'before_add_to_cart'; // o 'after_add_to_cart', 'after_summary'
});

En las páginas de categoría y archivo, aparece un botón de corazón en la esquina de la miniatura del producto. Se puede desactivar en los ajustes del módulo.

El módulo añade un icono de corazón con un contador a la cabecera de la tienda (junto al carrito). Al hacer clic se abre un desplegable con una vista previa de los productos guardados. La posición del icono se controla mediante un hook:

add_action('polski/wishlist/header_icon', function (): void {
// Posición personalizada del icono en la cabecera
});

El módulo utiliza clases CSS con el prefijo .polski-wishlist-. Clases principales:

  • .polski-wishlist-button - botón de añadir/eliminar
  • .polski-wishlist-button--active - estado activo (el producto está en la lista)
  • .polski-wishlist-table - tabla de la lista
  • .polski-wishlist-count - contador de la cabecera
  • .polski-wishlist-empty - mensaje de lista vacía

Los datos de la lista de deseos de los usuarios registrados se almacenan en la caché de objetos (si está disponible). El fragmento HTML del botón se almacena en caché mediante wp_cache_set() con el grupo polski_wishlist. La caché se vacía automáticamente tras añadir o eliminar un producto.

El botón no aparece en el producto - asegúrate de que el tema es compatible con el hook woocommerce_single_product_summary. Algunos temas sobrescriben las plantillas predeterminadas de WooCommerce.

La lista no se sincroniza tras iniciar sesión - comprueba si tienes un plugin de caché que almacena de forma agresiva la página de inicio de sesión. Desactiva la caché para la página my-account.

El icono de la cabecera no se muestra - el tema debe ser compatible con el hook wp_nav_menu_items o storefront_header. Si usas un tema personalizado, añade el icono manualmente en la plantilla.

Informar de problemas: github.com/wppoland/polski/issues

Esta página tiene únicamente carácter informativo y no constituye asesoramiento legal. Consulta a un abogado antes de la implementación. Polski for WooCommerce es software de código abierto (GPLv2) proporcionado sin garantía.