Solo tengo una pequeña pregunta sobre un botón personalizado para agregar al carrito que he creado en la página de la tienda.
Si ve la captura de pantalla a continuación, si hace clic en el botón Agregar al carrito (el que tiene el precio asociado), se mostrarán las opciones para el usuario (cantidad, variaciones, botón Agregar al carrito, etc.).
Sin embargo, noto que si un producto está configurado para que administre el stock a nivel de producto, el botón Agregar al carrito (uno con precio asociado) no funciona (ya que no pasa nada). No estoy seguro de por qué no funciona cuando se establece esta configuración. ¿Alguien puede ayudar?
Aquí está el código:
/** * Replace add to cart button in the loop. */ function iconic_change_loop_add_to_cart() { remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 ); add_action( 'woocommerce_after_shop_loop_item', 'iconic_template_loop_add_to_cart', 10 ); } add_action( 'init', 'iconic_change_loop_add_to_cart', 10 ); function iconic_template_loop_add_to_cart() { global $product; woocommerce_template_single_add_to_cart(); } /** * Customise variable add to cart button for loop. * * Remove qty selector and simplify. */ function iconic_loop_variation_add_to_cart_button() { global $product; ?> <div class="woocommerce-variation-add-to-cart variations_button"> <button type="submit" class="single_add_to_cart_button button"><?php echo esc_html( $product->single_add_to_cart_text() ); ?></button> <input type="hidden" name="add-to-cart" value="<?php echo absint( $product->get_id() ); ?>" /> <input type="hidden" name="product_id" value="<?php echo absint( $product->get_id() ); ?>" /> <input type="hidden" name="variation_id" class="variation_id" value="0" /> </div> <?php }Con poca información dada, es muy difícil encontrar el error. Siga los pasos a continuación:
También, como dice GhostPengy, danos el código del iconic_loop_variation_add_to_cart_button .
Siga los pasos anteriores y, si no se resuelve, proporcione más código para identificar el error con precisión.