Favoritos
El sistema de favoritos es parte del core Woo setup. No es un plugin separado ni una feature solo visual de las cards.
Archivos clave:
- setup/modules/woocommerce-setup/module.php
- woocommerce/myaccount/navigation.php
Capas del sistema:
- setting woo.favorites_enabled
- almacenamiento en user_meta gp_favorites_products
- AJAX wp_ajax_gp_toggle_favorite
- endpoint de Mi cuenta favoritos
- UI en cards y navegacion account
Helpers base:
- gp_get_user_favorites()
- gp_is_favorite_product()
- gp_toggle_favorite_product()
Toggle AJAX:
add_action('wp_ajax_gp_toggle_favorite', function () {
check_ajax_referer('gp_favorites_nonce', 'nonce');
$is_favorite = gp_toggle_favorite_product($product_id, $user_id);
});Comportamiento importante:
- si la feature está desactivada devuelve favorites_disabled
- si el usuario no está logado devuelve not_logged_in y login_url
- el nonce se expone al frontend desde el bundle Woo setup
Mi cuenta:
- el slug del endpoint es favoritos
- se registra con add_rewrite_endpoint()
- la navegación de woocommerce/myaccount/navigation.php ya pinta un icono específico para favoritos
Lectura correcta:
- la card solo dispara el toggle
- la persistencia real está en user_meta
- el listado largo se renderiza dentro del endpoint de Mi cuenta
Last updated on